There's just one problem: Science isn't cool, not by any reasonable definition of the word. You're not going to get famous, rub shoulders with the Beautiful People or strike it rich with a major hit. Rather, most science jobs are like being, say, a certified accountant, or corporate contract lawyer, or materials procurement workflow consultant. The job can be absolutely riveting for the right kind of person, but unless you have a genuine interest in the subject it's probably going to be difficult and quite dull. And yet, you don't hear plaintive cries about the lack of economy or law students. So why do lots of people still choose to become accountants or lawyers - or any number of other unglamorous careers?
They offer money or stability instead. There's really three ways you can motivate people to consider a career apart from their own personal interest in it: it may give you status (coolness being one aspect of it); it may make you rich; or it may give you stability. A career that demands a long, difficult and expensive training period will generally need more incentives like these than a career that is easy to get into. A TV manuscript writer has no job security and low pay but is regarded as cool. A contract law job is not cool but is fairly stable and pays very well. An accountant is the antithesis of cool and has modest pay but great job security.
Science jobs are often unstable, and if not they are relatively low paid. The careers that lead to jobs that are perceived as cool (pet veterinarian, say, or marine biologist) or high status (university professor) tend to have a corresponding lack of stability and pay1. In a sense, a permanent position as a research university professor or marine biologist is akin to breaking into the big time as a musician or writer in that few that embark on the career will ever reach such a point of stability, pay and status.
So if there are too few students of science then the solution would be simple: raise the salary level or offer greater stability (higher salaries are cheaper). Which is exactly what employers would do if there really was a persistent lack of science graduates. Salaries are not increasing, however, which likely means there is no shortage. Indeed, in relatively high-status science jobs, such as academic science, there's a vast surplus of qualified applicants today with several people for every available position. We mostly have the science graduates we need.
So why claim that too few people are studying science? Employers, of course, naturally prefer as large a pool of candidates as possible. And universities really do have a lack of students. In many places they have too few applicants for their science courses - sometimes fewer applicants than seats. They are in the business of educating people after all, and if there's a lack of bodies to fill lecture seats then the university loses money. If the offending department doesn't improve it's enrolment it will soon see its budget and personnel cut. They have a powerful incentive to increase enrolment whether their graduates can find jobs in their field or not.
As always, when somebody makes public claims, consider the source. What's their perspective and what reasons do they have to push those particular claims? In this case, do they really think society has an enduring lack of science graduates, or are they more concerned with finding cheaper employees or more students to fill their lecture halls?
#1 One exception would be physician, a science-related career that is high status, stable and very well paid - and that's reflected in the very intense competition for entry to medical schools. The intense, enduring competition probably means, frankly, that physicians are overpaid in some markets.