One theory is that people are continually told to follow their dreams/passion/desire. If you have no passion for computers, programming, math, etc... Why would they choose programming if they've been raised to think 1. they can do anything and that the recipe for success is to follow your passion and dreams?
Besides, there are several other fields of study and careers that are pretty good at this time. Most of them engineering fields though. And from a pure money-making perspective there are other choices, granted many of which are lotteries; but probably attract a large number of adherents.