S3 bucket duplication that is complete and perfect

I have a need to duplicate an S3 bucket being used by a particular application.

I hold to no assumptions regarding the details of the application’s usage of the various features of S3.

My precise objective is that the new bucket may provide a seamless replacement for the existing, allowing for the bucket name to be swapped in the configuration of the client application, while the application would continue to function completely undisrupted, not noticing any differences in the swapped bucket.

My use of S3 is quite casual, and my knowledge quite limited. I have tried using Rclone, hoping that it would perform an automatic and rigorous duplication, consistent with my specific objectives.

I have learned, however, that Rclone is rather limited in its capabilities to manipulate data stored through S3. In duplication of a bucket, it seems to copy the names and contents of all non-empty objects, but little else, whereas S3 supports metadata, ACLs, and so called “directory markers” (empty objects with a name ending in `/`), and perhaps also other data.

How may I reliably fulfill the objective, of seamlessly duplicating a bucket?