Some airlines permit checkin before the 24 hour mark (though I don't know of any US carriers).
I can think of several reasons, among them
- It is a better indication of a customer's intent to actually show up (predictor of actual loads, thereby making it easier to oversell).
- It makes it harder to confuse flights on different days.