And to expand on the comment of mosvy:
If you want to switch between virtual terminals with Ctrl-Alt-Fi and see a different desktop on each virtual terminal, then you need to start several X servers, one for each VT where you want to see a desktop.
These X servers need to run on the host (not in a VM). You can start X servers directly with startx, but more usually X servers are started from a display manager (DM). There are several display managers in use (e.g. xdm, kdm, gdm, lightdm, and others), so find out what your distro uses, and configure it.
Once you've start the X servers, you can either log in on each of them and have a different session for different users (no VMs needed, but all will be using the same OS), or if you really need VMs, depending on what kind of VM you use, you can either map the correct X protocol unix domain socket into the VM, or configure the VMs to access the X servers over the internal network.
Edit
do I really have to start multiple instances of X or i can use the same one on differents VT
No, an X server is bound to a VT (and more recently, it can be used independtly of an VT). You can't use a single X server on multiple VTs.
Is X really needed or can I just bind a VM without DE on the VT?
As I wrote on the comment, VMs and VTs have nothing to do with each other. At all.
The objective is to have multiple OS (here W10/OSX/GNU) to work "natively" with them at the same time
Windows 10 and OSX? That's not going to work with virtual terminals, sorry. I understand that you think it would be convenient to just swap between those OSes with Ctrl-Alt-Fi, but I don't think one can make this work.