I think the way most people use the term "freelancing" is to earn a living as an independent contractor, as opposed to a permanent hire of a company. I've worked as an independent, and it's not the answer to your question. Sometimes, to pay the bills, you have to work for some pretty ugly people on some pretty ugly projects (let me tell you about the enterprise system that was One Big
EJB!). Ugh.
I think what you are thinking of one would refer to as a "labor of love", a project one works on because he's interested in it rather than financial compensation. If you're lucky, of course, you get to combine the two and make money while enjoying your job. My current job has about a 50/50 share of grunt work maintaining an enterprise application and developing new projects using cutting edge technology. It's a pretty good mix.
Many people will have a "day job" which consists of earning the money and paying the bills and then another "job" that they enjoy, be it writing code, playing music, writing a novel, hiking, biking and so on. Lots of open source software gets done that way (I'll bet Chris Oliver worked one starting out, if he's not working one now)
As for the people you've seen enter the work force, the symptom you may be observing is people who got into this field because there are opportunities and it pays well, rather than because they enjoy programming. If one doesn't enjoy programming, they are signing up for a miserable life.