Stack Exchange does not require usernames to be unique. Your username is a personal choice. Plenty of people go by their first name, and that's ok.
Users are uniquely identified by their user ID. The user ID appears in the URL to their profile; for example the author of that question is 11330 and the editor is 105.
There are only two rules regarding display names: they may not be offensive (e.g. using them to convey insults), and they may not be chosen so as to deliberately impersonate someone (§4 in the terms of service). Deliberate impersonation means that someone relies on the username confusion (whether the names are identical or merely similar) to pass off as somebody else; using the same username which happens to be a common first name obviously isn't impersonation.
When two participants in a conversation have the same name, a comment ping (
@Drew) goes to the last participant. The rules are documented in the comment reply FAQ on the main meta, but they don't specify who counts as the last participant when there are both comments and editors. I think commenters take precedence (i.e.
@Drew goes to the last commenter called
Drew, who as I write is the asker), but I'm not sure. If two users would be pingable but they have the same display name, there's no way to ping the one who isn't the last participant (except that the author of the post is always pinged anyway); I suspect this case is so rare that the developers decided not to have a special rule for it.