There should not be two users who have same name. Stack Exchange should use usernames instead of real names and the usernames should be unique. Everyone should be identified by their username instead of a real name as it causes more of a confusion.
No. It's totally fine the way it is. Consider the worst case scenario: same name with tons of users sharing it. For example Tim:
What's so confusing about it? Each has his own avatar; each has different location and most participate in different tags.
The only edge case where real confusion can occur is when two users with exactly the same name write comments on the same post. Then you can address only the last one to write using the
@ notification, but you can still refer to two same Tim's like "Tim from USA" or "Tim from Berlin" etc.
All in all, forcing unique display names will just cause more confusion as people will revert to random name or not change the display name at all, keeping the cryptic user[xxx] id.
Stack Exchange doesn't use real names, it just doesn't require user names to be unique. If someone uses their real name, it is their own decision, you can use whatever you like as your user name.
I like this a lot as it means I don't have to try to add random digits to possible user names just to get something unique. And the potential for confusion is rather low, similar to real life where names are not unique as well.