What we really need is jobs for all of these new trains to fill once they graduate. Talk to any recent PhD in the biomedical sciences, engineering, etc, and ask them what they think of the push for greater STEM education efforts. They'll tell you it's basically BS. We can't place the number of graduates we currently have into even remotely well paying, long term, jobs.
Now, we might need more STEM education and training for more technical, lower level, jobs. But of course that's never how these programs are billed. It's not as sexy of a sell to parents and students! Instead we push people to go to graduate school, get a MS or PhD. Then dump them into a market with slashed education funding, so there are few prospects in the university system. Combine that with a large number of foreign applicants for postdoc and technician positions that are willing to work for MUCH less in terms of wages and you've got a disaster. US citizens do have a slight advantage in that most of the NIH/NSF funded pre and postdoc training fellowships/grants are only open to citizens. But, those are so small in number and highly competitive that it doesn't have a large effect.
We need to face the fact that we're really training WAY too many PhDs and even masters graduates in most of the STEM fields right now. It's a vicious cycle though. Profs want lots of PhD students because they are very inexpensive labor. Likewise with postdocs... for their training and amount of work they are expected to do... they are paid much less than minimum wage. Moreover, most profs will kick out postdocs after 2-3 years because of pay raises that some institutions mandate. It's just easier to dump the experienced person and higher in a new 1st year that gets paid 10k less, pump and dump... factory style.
There have been a number of really excellent articles written about this problem over the last few years. Science and Nature have both dedicate page space to the topic. Some suggest forcing researchers funded by NIH/NSF monies to be required to higher long term technicians to their labs and reduce graduate student/postdoc usage. Such actions would start to limit new graduate number, while at the same time providing employment for scientists that aren't interested or can't get a faculty position in academia or don't want to work for industry. A lot of people also think it would help lab productivity, as you'd retain talent and skill sets that were honed over years of work.