I would personally use 30GB of RAM out of 32GB, and leave 1-2GB of host RAM, for iptables, fail2ban, etc. and add some SWAP RAM on top. Same if you choose the 16GB server: 14GB for guests, 2GB for host.
Assuming you're referring to Proxmox to manage guest virtual machines, you can give it as much RAM as you want.
But, the very first thing I would do is submit a ticket to the cloud/ISP you're using and ask them if the server you want has nested virtualization.
If the server has KVM and allows "nested virtualization", you'll be fine. If not, it will struggle with more than 1 guest VM.
If the answer is yes to "nested virtualization", then you can use unlimited RAM really, and QEMU will do what it's told because all the guests will share the 2 CPUs.
If the answer is no to "nested virtualization", then the 2 CPUs with 32GB is most likely 2x vCPUs, and its going to struggle.
From experience, I doubt 2 CPUs with 32GB of ram will have "nested virt.".
You can check when you're in the server:
Enable KVM first.
sudo modprobe kvm
See if KVM works:
stat /dev/kvm
stat /dev/kvm
# File: /dev/kvm
# Size: 0 Blocks: 0 IO Block: 4096 character special #file
#Device: 0,5 Inode: 780 Links: 1 Device type: 10,232
#Access: (0666/crw-rw-rw-) Uid: ( 0/ root) Gid: ( 78/ kvm)
#Access: 2022-01-29 11:26:05.478771780 +0000
#Modify: 2022-01-29 11:26:05.478771780 +0000
#Change: 2022-01-29 11:26:05.478771780 +0000
# Birth: -
If you get stat: cannot statx '/dev/kvm: No such file or directory
then the server will struggle, and you will most likely want a refund on that server.
You can check the CPU info too:
cat /proc/cpuinfo
Here's a virtual CPU with no nested virtualization
[root@hostname ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Virtual CPU 82d9ed4018dd
Here's a normal CPU with virtualization
[user@hostname ~]$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 23
model : 96
model name : AMD Ryzen 9 4900H with Radeon Graphics
Then you can watch the RAM as you use the server.
# see all RAM usage
free -mh