To me, it's the energy first and foremost. A crowd can be nuclear for an entire game in the college ranks, and much bigger. A pro stadium maxes out at 80,000 or so, but you've got 109,000 people at college games. Also, since colleges often coordinate fans all wearing the same color or something, you'll get a whole sea of the same color surrounding the field. A home game in college makes a much bigger difference.
Also, the players aren't paid. You're not going to hear about college players refusing to play because of a contract dispute or anything. It also makes you feel closer to the players, since they aren't on Cribs showing off their big houses and nice cars. They're playing because they'd like to have that stuff eventually, but for the most part, they play for pure love of it.
Professional football is also hindered by college having a good 20-25 year head start, historically. You've got games in college that have been going for a whole century.
And there are so many teams! 118 in Division 1-A alone! In the professional ranks, you have to resort to rooting for the nearest large metropolitan area or some other big city, but just about everyone has a 1-A school within 100 miles of them.
More people also end up graduating from colleges over time than are from big cities. In college, you're exposed to your team colors and logo and mascot everywhere whereas in a city you can avoid coverage of its sports teams without really trying too hard. This leaves a sense of extreme loyalty, whether you meant to end up cheering for your school or not. Then you've got people who have relatives from colleges, which greatly expands a fanbase.
Those are my theories, anyway.