Actually it doesn't prevent it, I had two at the same time while I was in the process of changing something around because I accidentally said no to having them cancel one for me, so it is quite possible to hold two, they were 10 minutes apart from each other and and for the same restaurant, oneoa dining package, one wasn't obviously I cancelled the one I didn't want.
And yes people know more at 30 to 60 days out, because park hours are more firmed up, heck we are going at the beginning of June and they just changed which parks have EMH on which days a couple days ago, not to mention when they announce after hours events, etc.
Same day (or close to it) would work just fine as well, they could either do you pick a time beginning at say 8 PM the night before or they could treat it more like traditional FP (i.e. how
Disneyland does FP for rides) where when you are ready you login or go to a kiosk and see what return times are available for each restaurant and pick from that. Either way could work and eliminate a lot of this problem and you wouldn't have two hour waits, in fact you would end up with shorter wait times at restaurants when you show up for your ADR/return time because you would only have the people who wanted that restaurant that day and not the people who are going there because they didn't change it the day before and are now stuck going there or have to pay a fee and yes, that happens frequently, I hear at least 3-4 parties talking about it every time I go to a restaurant at Disney World.