AWS cli s3api put-bucket-tagging - cannot add tag to bucket unless bucket has 0 tags

You can use resourcegroupstaggingapi to accomplish the result you expect, see it below.

aws resourcegroupstaggingapi tag-resources --resource-arn-list arn:aws:s3:::cbe-res034-scratch-29 --tags Environment=Research

To handle spaces on tag name or value, use it as json.

aws resourcegroupstaggingapi tag-resources --resource-arn-list arn:aws:s3:::cbe-res034-scratch-29 --tags '{"Environment Name":"Research Area"}'