Like you mentioned, there’s a HUGE difference between filling the roles and filling the roles with qualified candidates.
When you’re getting called by recruiters, it’s because someone is paying a fee (and typically a high one) for their services. These companies aren’t looking to fill their open positions with just anyone and you must have a pretty good looking resumes to get hit up that often (though 32/hr isn’t really that much, but that also depends on your academic background and work experience too).
So while unemployment is around 9% for the rest of America, it’s not even close to that in the tech industry (it’s somewhere like 1-2% in the Bay Area, for example). I don’t know too much outside of technology (computer science and computer engineering) but recruiters aren’t paid to find active candidates – companies/internal recruiters can do that themselves.
So you are right that there aren’t enough qualified candidates to fill the roles and because the unemployment rate IS so high and so many people want these jobs, the companies can afford to be more picky knowing that there may be someone out there if they’re simply desperate to hit their numbers. The difference between the top 10% engineers and the other 90% is gigantic – the start-up companies that end up being successful are often the ones that invest in only top-tier engineers (those from top 10/15 schools). That’s what the recruiters are looking for.
In conclusion, you should be pumped that recruiters are calling you – it means you’re doing something right