The three options you listed don't even begin to describe the multitude of reasons that a person might choose to work for the government.
There are people who enjoy public service, that doesn't make them better or worse than the rest of us. I served in the Army for almost a decade, it doesn't mean I'm better than anyone.
The "can't make it in the private sector" argument is ridiculous. Everyone who has ever worked at a sizable organization, both for the government and in the private sector, has known someone that was completely incompetent yet still remained employed. Sometimes people just slip through the cracks, it doesn't matter where you are. What's funny is that on one hand we have civilians saying that federal employees couldn't make it on the outside, and on the other side whenever someone gets out of the military, there will be those who say its because that person "couldn't cut it." It's childish and counterproductive nearly all of the time.
Two reasons that come to mind that you haven't mentioned are free travel and a stable employment situation. Right now things are kind of screwed up, but generally speaking, government jobs are stable. You might have to move, but at least you know that you'll have a job unless you give them a good reason to let you go.
One of the smartest people I know has been a software engineer for about 5-7 years, he gets treated like crap at his private sector company, and makes well below market value. I honestly have no idea why he stays at his company, but I do know enough to realize that I won't be able to explain it with a mathematical model.