Is there a restriction which prevents you from creating a user and a role with the same name?
No, you cannot have a User and a Role with the same name.  These objects are all stored and referenced in sys.database_principals, requiring they are unique.

sys.database_principals MSDN Reference

Quoted from the name parameter:


  name : Name of principal, unique within the database.