There certainly is a big supply/demand imbalance, but undergrad geology enrollments are actually way up. All geoscience departments I know have have dramatically increased in size in the past 10 years or so. (e.g. where I went to undergrad has gone from 5 geo majors to ~60, and I've seen the same at the two places I went to grad school)
A lot of it is that a geoscience job at an oil company requires an M.S. or a Ph.D., and geology degrees typically take longer than most other fields. There's a minimum of a 6-year lag between starting undergrad and being eligible for a job. Typically it's more like 7-8 years total for an M.S. and 8-12 years for a Ph.D.
Therefore, it's a long pipeline. I just started in industry, and when I switched to geology in undergrad (early 00's), oil companies were not hiring geologists and hadn't been for 15 years.
The stigma associated with going into the oil industry depends a lot on where you are geographically. If you go to an "oil patch" school, then it's the opposite effect. It is a factor, but I'd argue the field vs. desk job part has a larger influence.
Geologists tend to become geologists because they _really_ like the outdoors. With a few exceptions, as a petroleum geologist, you're behind a desk 100% of the time. Compare that to fields like environmental consulting or state government work where you can start right out of undergrad and are in the field a significant portion of the time. (Both of those pay less and tend to involve less actual geology, though.)
Finally, there's a risk/reward trade-off. Geologists tend to be among the first to go when layoffs start. We're concentrated in exploration and development (note: field development, not software), and exploration is viewed as an expense, not a profit center. Exploration budgets get slashed the second things look like they're going to take a downturn, and smaller companies lay off most of their exploration geologists whenever oil prices drop. Development is the second thing to cut back on after exploration. A lot of the folks that I got my M.S. with started jobs in '06 or '07 and were laid off in '08 or '09. They've all since found jobs again, but the cycle will repeat itself.