It's fun, and adding/fixing a feature for everyone means they might add or fix a feature for me.
What I can't answer is: Why would someone agree to [do data entry/handle customer support/agree to be legally liable] without any compensation?
Those activities aren't fun, and if I handle customer support for you there's nothing in it for me.
Further, a lot of open-source programmers are getting paid. See [1] for Linux, the Mozilla Foundation for their applications, Joyent for Node.js, &c.
StackExchange is a huge network of volunteers helping to answer other people's questions, for no (real) compensation.
They might not be fun for you, but I think there are plenty of people that just like to help other people.
There's volunteering and charitable organizations that do mundane work, right? I guess this is just a different type of public service.