Sure we may be graduating more STEM students, but I really hate when studies like this assume all students of a given field are equally talented. I'd say my university had a good CS program, but maybe 1/3 of our CS majors would get hired at top tech companies (Amazon, Twitter, Microsoft, etc) and get those really high salaries.
At the end of the day it's much easier to import top talent to fill the gap than to cultivate more of it in the U.S. Some companies like HackerSchool are popping up to address this need, but there's a long way to go.