Do I need a VPS for Discourse and do I host the main site on the same server?

Is doesn’t really. Using the multisite option the formula is not amount-of-Discourse-instances times resources needed.

I run 5 Discourse instances on a single 1Gb Digital Ocean VPS just fine. Of course those are small fora, the needed resources get higher when you get (a lot) more users.