The nice thing about Neo4J is you can change your mind relatively easily later.
Before you can come up with an answer to your question, I think you need to decide whether a "user" (a single Node), can have multiple roles or if a user can only be one at a time, or multiple roles at the same time.
Possibly, each role has properties specific the role as well.
And if an admin or root role gets removed from a person, how do you expect the extra properties to be removed. Maybe a lot of other considerations too.
If there are no extra properties, then adding and removing labels is easy.
The accounts node will have the same properties and the only property that it would make different to the accounts will be the label. After depending on the label, the accounts will have different relationships which would define the rights of each.
As you say, I might go with labels design but still thinking which would be the best approach,