The reason they couldn't originally was entirely a gameplay restraint. Blizzard's policy at the time was that no race would have access to more than six classes. Them being paladins was their thing. Giving them the clothie trio was a given. Hunter was also a given cause rangers. That left giving them warriors or rogues. Maybe they tossed a coin and ended up giving them rogues.
The most difficult thing to do is accept that there is nothing wrong with things you don't like and accept that people can like things you don't.
and when it came to wow this is correct. the very early playable bloodelfs were not eligible for warrior class, they later on decided to change it
All classes should be able to be all races. It works better for gameplay.
I don't think that the restriction was necessary, in any case. They were at the time the only Horde race who could be paladins, so people would have flocked to them for that reason alone. Who would roll a BE warr when you have much more badass options, such as Orc, Tauren, or even Forsaken.
Y'all over thinking this shit! Just because they are a magic saturated society does not mean they ain't got guys who are more comfortable with swordplay. Anybody can pick a sharp stick and stick some asshole with it. So it does make sense for blood elves to be warriors, it makes sense for all races to have a warrior class.