Its GiB not GB.
31.33 GiB = 31.33 * 1024 * 1024 * 1024 Byte = 33,640,331,345 Byte = 33,640,331,345 Byte / 1000 / 1000 / 1000 = 33.64 GB
So the strange part is that it shows more available RAM than you actually got.
You can loose some RAM in case you use a iGPU. The iGPU will steal some RAM at boot because it doesn'T got its own VRAM.