I want to host multiple hidden services but I need it in a way that people cannot find out that they are all hosted on the same server. How could I do this?
Absolutely! However for best practice, you may want to have some kind of separation between the instances for better security. You have two options: 1. Run each hidden service instance in a separate virtual machine. 2. Run each hidden service in a separate container.
A third option, if you are Linux savvy but short on system resources is to set up vhosts. This will not provide any separation between the services and if one site gets hacked, then the whole system is at risk. At least in the case of VMs or containers, the hacker would then have to know how to break out of that and then get to your system (not a very easy task).