Duplicate post on publish

It’s a normal behaviour of WordPress if you have attachments in your post and revision enable for your site.

When an attachment is added to a post, the attachment post_status is inherit of the parent post, and the logic is that the ping status is set to closed.

When revisions are enable, a copy of the post is created but not available in the post listing.

You can easily disable revision in the wp-config.php if you don’t need them. See how to disable revision here

Hope my answer helps you to understand that everything is going fine in what you say.