Is there a way to assign a virtual desktop to a monitor in Windows 10 (i.e. have every monitor show a different VD)?
Unfortunately not with the windows 10 feature. Each virtual desktop contains all of your monitors. So when you switch to another virtual desktop you are switching to a new virtual desktop that spans all of your monitors.
Maybe one of the third party solutions can do this and run on Windows 10.
I may be late to the party, but there is a workaround that can get near what you want to do:
Win + Tab to show up the Multiple Desktops panel also showing windows of the current desktop. Right click on one of them and you can choose either "Show this window on all desktops" or "Show windows from this app on all desktops".
You can now switch desktop and they'll stick to the screen.
Afaik, if you choose the 2nd option, it will remember your choice even if you close all windows from the app at one point.
hope it helps