One major factor not mentioned here is that the number of college graduates in a field is not just determined by how many apply to it, nor the author's #6 (reactionary faculty that fail large amounts of people). There is also
how many people are accepted in the first place.
If a university has 100 spots for CS, then even if twice as many people apply for CS in one particular year, there will still be 100 people (but with higher SATs, presumably). There is some flexibility here, but it is limited - those 100 people require a certain number of faculty and grad students to teach them. They need a large-enough building with the proper facilities (you can send students to classrooms in another building sometimes, but it's not optimal). The campus can't just accept more than the students they planned for without preparation, and those plans are made long in advance.
If a university sees a field is popular, it may work to eventually be able to accept more applicants. But it might not decide to do so - popularity among students isn't the only factor considered, there are many others, like ease of acquiring funding and grants, likelihood of undergrads becoming graduate students (and whether the university wants more or less of those), etc., all of which require multiyear planning and also have various political factors.
tl;dr It's worth seeing if we can find data on the number of applicants, and not the number of graduates. It's possible the number of applicants has been increasing.