Villains often are more expressive because they're being themselves. The appearance of complete freedom is seductive and enchanting. It's a lie, though, because when you take more than your share of freedom, someone else loses theirs. Besides which, villains always have to watch their backs, they're trapped within their lousy selves, and they are driven by a lack of satisfaction with what they already have.
Heroes seem all alike because there aren't infinite different ways to act heroic. If you're going to be a decent person, you don't get to ditch your torpedo early and fly back to the carrier to save your skin, the fleet be damned. Nor do you get to stab Frodo, hide his body, and take the ring for yourself. Nor do you get to run away when the Persian army is approaching and all Greece is depending on you to delay them. Nor do you get to go make spare money wrestling while Dr. Octopus destroys New York. If you do those things, you're not a hero.
It looks like heroes have less freedom, but this is also an illusion. Heroes recognize that there is something greater than themselves that dictates proper actions, and they don't always do what they feel like. They choose to follow a certain code of behavior (and thoughts) that creates more good for more people. In exchange, however, they get to be heroes. Nothing a villain enjoys can compare with the satisfaction you get when you help someone out of a serious jam that only you could have done anything about.