As has already been mentioned repeatedly, it's most likely because those flags stand for a large number of things. Some of those things are good, and some of those things are bad.
The Confederate flag represents a nation that only existed for a brief period of 4 years or so that existed for the express, stated purpose of perpetuating race-based mass enslavement. There is no good to balance it out.
A good similar example would be that the flag of the Soviet Union is not as reviled as that of Nazi Germany, despite being guilty of at least comparable human rights violations.
The fact it isn't a good flag is why it is probably so popular...In the end, the calls to ban it are excessive. But obviously it should NEVER be used in a public place w/ government money.
I think Germany wimped out on banning the nazi flag. I completely understand why they didn't want it around, but I feel they are trying to "forget" their past and can't even imagine how to approach it, so they are sliding it under the rug. If the problem is that neo-nazi's use it as a tool...the problem isn't the flag, it's the fact they still have neo-nazi's running around.
Can you even shoot hitler in a PC game in Germany?
Try to imagine playing Sid Meier's Gettysburg! without the rebel flag. What the hell kind of a unhistorical game would that be?