Is there are reason for this?
Well, as Maarten says, often these sorts of design decisions are best handled by the people who did the design - some design decisions are made for good reasons and some design decisions are just arbitrary choices. However, this one is pretty clear.
libsodium was designed for people who don't know crypto, but need to use it anyways. That is, it was deliberately designed to be easy to use securely, while not giving any functionality that might be misused.
Direct access to the field operations isn't needed to use it correctly; that is, you don't need it to generate private keys, or encrypt messages or decrypt them - libsodium handles all that internally. And, while the field operations could be used securely, they can also be used insecurely by someone who doesn't know what they're doing (which is what libsodium's target audience is), and so that access was not provided.
If you want something that gives you access to more general functionality, they are out there. However, using one of those packages would require you to know more about what you're doing (which is contrary to libsodium's design goal)