Is there a shortage of STEM graduates in the U.S.? Absolutely not. We graduate far more STEM students (especially in research-oriented sciences like biology, chemistry, physics) than we have jobs for. These research jobs are mostly funded by government grants, and the government is cutting back due to unrelated political issues with the budget, of which the root cause is mostly failures in the finance sector.
Is there a shortage of programmers in the U.S.? Perhaps. There is massive, and growing, demand in all sectors for software developers, and our universities aren't graduating them faster than demand growth, and as a result software dev salaries are rising (or at least not falling).
But programming is not STEM, and these jobs are not scientific research jobs. They are mostly jobs building commercial software products or automating business processes. These companies have figured out that they can squeeze a little more profit out of their business model by bringing in Indians who will write code for less money and can't job-hop because they're indentured by their visa status. So when they whine about a "talent shortage," they really just mean "American programmers are too expensive" because the relatively low supply/demand ratio means they still have to actually pay them a livable FTE salary and benefits--unlike most other job categories where they can and do hire commodity temp labor. (There are several entire companies dedicated to temp/contract staffing for administrative and QA positions at Microsoft.)
These companies will pay lip service to the concept of improving the US education system to crank out more highly-skilled STEM graduates, make our country more competitive, etc. But really, it's just whining about microeconomic factors that hinder their constant efforts to trim their HR budgets. They just want cheaper coders, period.