I suppose it helps that I have a pretty decent singing voice (baritone), but I'm also quite loud and my voice really projects (so I'm told).
I can't stop though. I made a compromise - I won't sing in public places (eg train, walking through the city), as people will think I'm mad. But I will whistle. And I'll sing at home, in my neighbourhood, local shops, people's houses, in the office - basically everywhere else.
Fortunately I married someone who has the exact same habit. At home we just walk around singing, sometimes not even the same song.
I understand some people are tone-deaf, and just cannot sing. But for everyone else, I genuinely don't see why you're not all walking around singing! It's fun, it's elating, it's expressive! I even sing sad songs when I'm sad, and it makes me feel better.
Putting aside shyness, there's people that don't even sing alone. That I'll never understand ...