Why does my System Monitor show that I have 32 CPUs when my lscpu command shows that I have 96 CPUs?
I believe that my System has 48 Cores which makes it 96 with Hyper-threading.

Why does my System Monitor show that I have 32 CPUs when my lscpu command shows that I have 96 CPUs?
I believe that my System has 48 Cores which makes it 96 with Hyper-threading.

It's the limitation of the System Monitor. The library used by the application has maximum number of cores set to a limit of 32 cores. You can read about this here.