Same content on different slugs
Because your Entry URI is setup as my-channel/{slug} , When you go to my-channel/post-slug-1 Craft automatically sets the variable 'entry' to the entry post-slug-1. You don't need to loop through the channel at this point. You can just use the entry variable.

entry.fieldName
entry.slug
entry.url 


etc...

So just remove your for loop and use 'entry'

Using

{% for entry in craft.entries.section('my-channel').limit(1).all() %}


Will get the first entry of the my-channel section. That's useful for pages where you need to list out all of your entries in that section or get specific ones.