What I would do here is in fact to use VMWARE SERVER (Free) where you can run your Virtual Machine as a Background Task - then a separate user without even having an account on the HOST machine CAN access the VM machine via something like RDP.
The 2nd / other user will still need a separate machine to use as a CLIENT .
There isn't any way to separate a standard PC so it can have concurrent users ON THE SAME PHYSICAL PC. (Servers of course have multiple concurrent users but these are accessed via CLIENT computers -- usually only one person can logon at a time to the actual PHYSICAL server).
(Even in old mainframe days with "Dumb" terminals the terminals were connected to a "Terminal cluster or controller". Users logged in to 3277 type terminals and the terminal controller handled Mainframe access).
Unless you can create something like a "Terminal Hardware controller" and write software for it the 2nd user will have to access the VM via a Client machine.
Redirecting output to different screens isn't a problem -- particularly if you have a graphics card with multiple outputs but on the keyboard you'll be stuck I'm afraid unless you develop your own software to intercept the key strokes and determine where you want to send the commands.