So let's see... You publish a post with a certain name. You tag it with the same name. You publish the post to a sitemap (I presume), and also the tag to a tag sitemap. You submit both in Search Console. This causes unpredictable search results.
It's not that you have a duplicate content issue, it's that you're confusing the search engines by bombarding them with redundant info. And you're getting unpredictable results in the index in return. This can be handled much more gracefully.
First, what is the purpose of creating a tag that is also the name of the post? You already have that name as the title of the post. Tags exist so that the user can more easily find the topic they're looking for on your website. They're basically a filter. Thus, a tag like "webmaster" would be more helpful to the user than the name of the post. Think about the UX aspect; is your site made for users?
Second, what is the purpose of creating a tag sitemap if it basically mirrors the regular sitemap with posts? By submitting both to Google, you may also be putting undue load on your server and/or exhausting the crawl budget.
There is really no point of putting tags into sitemaps at all. Your sitemap already contains pages, posts, and categories. The best practice, in most cases, is to index the categories and noindex the tags. If you should be noindexing the tags, why submit them in a sitemap at all?
To fix the issue of tags appearing above your actual posts, I recommend:
- Think about your content, create a tag scheme for your posts, delete the spammy tags, and tag your posts with the brief tags you came up with.
- Delete the tag sitemap altogether, both from your website and from Search Console.
- Make sure you noindex tag pages (your SEO plugin should have this functionality).
- Put together an XML Sitemap with pages, posts, and categories, and just submit that to be crawled.