The differences in compensation aren't that huge, and it's just a summer, and the interns themselves are usually still living off of their parents. So, usually anyone that's agonizing over nickel and dime stuff that early in their career likely has no enthusiasm for what they would be working on (which by itself is reason enough for not taking an intern), and might be super entitled on top of that, also not a good thing. Because, again, we're talking about mostly CS undergrads here. A very small number of them might have a big impact over the course of a summer, but for the majority of them it is practically charity for these companies to take them on- they're not getting anything out of it other than giving a potential future employee some hand-on experience.
And, it's an employer's market- there are plenty of equally qualified interns to choose from in many cases, as well as a small window of time in which they either have to pick an intern or not get one at all. If they gave everyone weeks to make a decision, they could easily end up taking so long to even find an intern that they would run out of time in which to do it.