A pretty good summary of the situation, I think, including the point that making more students scientifically literate is not the same as churning out more science majors.
Clearly, powerful forces must be at work to perpetuate the cycle. One is obvious: the bottom line. Companies would rather not pay STEM professionals high salaries with lavish benefits, offer them training on the job, or guarantee them decades of stable employment. So having an oversupply of workers, whether domestically educated or imported, is to their benefit. It gives employers a larger pool from which they can pick the “best and the brightest,” and it helps keep wages in check.