I would first try to look at the I/O profile of your servers.
Domain controllers I/O depend on the change rate you have in your AD. With 40 Users i guess that won´t be that high. We run half of our DC´s virtualized with a 40GB vmdk, we server around 700 Users. We do not see very much I/O but our change rate is low.
Pint Servers can produce a significant amount of I/O (write and of course network) which depends on well the load and how many users. It is difficult to give advice without knowing what printers you use. For example plotters can generate very big spool jobs.
File Servers can be a Nightmare, throughput wise or I/O wise. In my company there are software developers who compile against the file servers with thousands and thousands of minifiles being read, compiled and objects being written. So i would have a close look at the I/O pattern of your existing file servers.
The same with your LAMP server. If you want to break up partitions you can do that if you have the need inside the OS or application. Doing that with different vmdk´s can make perfectly sense if you have for example datastores on different raid levels for performance reasons or if you use a raw device.
For the VEEAM Backup Server you should first answer yourself the question, do i really want the Backup Server for the virtual environment be a virtual machine itself and am i able to restore VM´s in case of a desaster. We use a physical machine as a backup server and we had good experience with that.
The VCenter can generate a fair amount of I/O, depends on the size of the environment
In short to answer the question how many datastores you need and what kind of raid levels you have to have a clear knowledge on the I/O pattern you have to serve. In VSphere you are very flexible and many things can be done. If you have a little bit more information at some point i would be happy to try to help you.