Question: I think the most natural party organization for a group of friends that are playing a game is a flat one, in which no one has authority over another, and decisions are made by consensus (and if that fails, with votes).

But there are times when the setting implies that the party should have a leader. In theory that shouldn't be a problem, as roleplaying is about portraying people who are not yourself, be they a noble or a servant, but in practice not everyone is okay being subordinate to another even if it's fictitious.

I have been in games in which leadership went smoothly, because everyone accepted the leader. But I have been in others in which players had a hard time accepting the leader, and every decision and step was an argument.

What are the keys to successfully including a leadership role in a party? How should the leader lead and the followers follow?

Answer: 
Games are a great way to teach complex subjects. Have you considered using a setting where the player characters are in a hierarchical organization? 

I learned how to handle this as a GM and player from playing FASA *Star Trek* and *Twilight 2000*. In *Star Trek*, sometimes I would play as a Captain and lead the Crew on a mission and other times I'd play as a Lieutenant and follow orders. Constraints like having to follow orders can present great roleplaying and creative opportunities.

If you are worried about how a particular player would handle it, consider experimenting with it in the fiction. Using *Star Trek: The Next Generation* as an example, let's say someone is playing Lt. Barclay. He's not a good leader, but the senior staff wants him to improve. 

So, Lt. Barclay is given command of an away team. Riker mentors him through picking a balanced team and making sure the Lt. is set up for success -- picking experienced away team members for a mission with a high probability of success. Riker models being a good follower and Barclay learns to handle team leadership. Then, the Crew and Lt. Barclay debrief and discuss the mission.

By extension, the players learn how to handle the table dynamic at the same time.
Besides all the great answers already given, I think I have an idea to add to this -- maybe it will prove useful to some. (I seriously hope I'm not duplicating anyone: I read/skimmed all the answers, but even so I might have missed a paragraph or sentence. Should that be the case, sorry.) So:

Superficial hierarchy
---------------------

So, there's a group of PCs. One of them is a leader, because they're all part of a military task group or something. Be the leader strong or weak, she's practically in an elevated position, which, as you say in your Q, is not welcome by some players. A solution is to introduce, either overtly or covertly, secondary hierarchies that raise the other PCs' status as well to that of the obvious leader. How do you do that, and what do I mean by that?

Let me answer with examples: 

The group plays soldiers, three grunts and a sarge. The sarge is the leader, obviously: the military background provides the primary hierarchy. However, unknown to everyone else, one of the PCs (one who has trouble playing a subordinate) is a spy, who has to report on his group's activities regularly, and might be / might have been commanded (by NPCs) to sabotage this and that subtly, or even to revolt and act openly against the party. But this latter moment will possibly never come - or perhaps only during the great showdown of the campaign. Till then, he's supposed and ordered to play along with the sarge's organization. This option empowers the player playing the spy: he's not a simple subordinate, he's a sleeper agent.

In the same group, another grunt (whose PC also dislikes being a simple underling) is also an agent -- but he works for the counter-intelligence of the sarge's army, and knows that *one* of the other grunts is a spy. He's not sure, though, and has been told (by NPCs) to play along even if he uncovers the identity of the enemy agent, because that way his superiors could feed false information to the enemy. This PC is, in fact, a higher ranking officer than the sarge... but he's not allowed to reveal this, only under the direst of circumstances. Yet again, this empowers the player playing this character.

Still in the same group, the third grunt, whose player has no trouble playing a simple grunt, an underling, is... :drumroll: just a grunt. But you're a twisted GM, so you decide in secret that he's a lost bastard of the King -- and an heir to the throne, should anything happen to the prince. Practically nobody knows this. Yet. However, one day, the now distinguished group is assigned on top secret guard duty: they must escort the sickly prince out of a besieged city... and the spy receives a secret order.

I hope the example is good enough illustration of secondary hierarchies. Use such hiearchies to fine-tune and balance out the inequalities present in the apparent, primary hiearchy - but do so subtly, planning for the long run, discussing the options with the concerned players (possibly in private, if you feel that necessary.)