The simple reason is that in the US school setting, Linux has no compelling advantage over Windows.
Generally, what are the arguments for Linux adoption?
Price? Doesn't apply - Microsoft heavily subsidizes educational purchases.
Security? Doesn't apply - judging by the amazingly unsecure, routinely exploited computer systems that many schools run, school sysadmins simply don't care whether their machines are secure or not.
Source code availability? Doesn't apply - most teachers (and that includes the ones teaching computer science) have neither the skill nor the inclination to contribute to open source or heavily customize their OS.
The idealism of the free software movement? Doesn't apply - a couple of months working in the school system will destroy any idealism you might have and turn you into a lifelong cynic.
Since in a school Linux has no obvious advantages over Windows, when it comes time to make a purchase, the OS chosen will be the one that the teachers and administrators are most familiar with - and that means Windows.