It works just fine and was already done in a similar fashion on a single card (namely "Shared Animosity"),
although the usual syntax for this kind of effect would be "[...] for each creature it shares a creature type with".
In this case, it would already work just as you intended it to. Your creature would attack and it would get a +1/+1 bonus for each attacking Human and each attacking Citizen respectively.
But you might want to consider the following:
1) The bonus should fade at the end of your turn. Either that, or you should consider using +1/+1 counters.
2) The +1/+1 bonus is strong. Not imbalanced, but tricky to pull off without ending up broken as shit. Maybe a simple +1/+0 would work just fine.
3) "Riot" is not that much of a fitting name. Maybe consider something more... coordinated, hinting teamwork and bonding etc- Allegiance maybe?