I've seen two new users with the username "Islam" and "muslim" which has already been taken by 2 users. This will be really confusing if in the future new users decide to use these 2 names. Is there a feature we can use to restrict them from choosing a name taken by someone ? also, How do we deal with these two users. Put a comment on their answers asking them to change their username or leave it to the moderators to change their names?
Right now, there's nothing restricting usernames; this is by design. Of note, we also have five users named "Ali", six users named "Farhan", six users named "Abdullah" and six users named "Mohammed". I doubt that's even scratched the surface.
Many users just end up changing their own usernames to something more unique after they recognize it as a source of confusion (I know for fact of two more users who have long-since changed their own names from one of the above) . If there's a case of actual fraud going on where a user is actually claiming to be a different user with the same name, then it should be flagged for moderator attention. Otherwise, it's just a side-effect of how the system is designed and it's probably better to just roll with it.
I doubt any unique username restriction would really be wise at this point: Due to the nature of the Stack Exchange network, many users maintain the same user profile over multiple sites, and have done so for years. If one of my own questions, for example, were migrated to a new site, I would personally hate to suddenly be "goldPseudo2049" over there when I'm allowed to be "goldPseudo" everywhere else. That's my name, that's what I want to be called.
And if someone wants to be called the same name as a dozen, or a hundred, or two thousand ninety-nine other people on the site, so be it.