You have so many inaccurate misconceptions of how this stuff works I'm really not sure where to start, so I'll just run down what you said and respond quickly... Sorry! I don't mean to be offensive, but almost everything you said represents a misconception of how these systems function.
Each app has their own session when I'm logged in
Nope. RD connects to a user session. Windows Vista and newer can have multiple users sessions running simultaneously. Older version are fuzzy, but lucky support has ended for anything older so nobody should be running it anymore. RD can also establish a new user session for a user logging in if one does not exist already, and the same user can have multiple sessions under certain circumstances.
VNC connects to the console (in Windows, it works very differently in *nix) , a somewhat simple redirection of what's seen on the screen. It does not handle user sessions at all, and there's no mapping between connections and what session is displayed.
Remote Desktop only allows one user at a time
Nope, this depends on licensing and configuration.
VNC allows multiple users at the same time
Only to the same VNC server (on Windows). They'd see the same thing, move the same mouse, etc.
There is one server we have where we can have 2 Remote Desktop users logged in at the same time viewing the same desktop.
See above.
When a machine is rebooted, apps that auto start through VNC will run but not through Remote Desktop.
Um, sorta correct, but no... that's just not how it works.