Few things to consider.
Your host has 24 physical cores (24 pCPU), and your VMs have 36 cores allocated (36 vCPU)
Your CPU is overallocated 3:2 or 150%
As the general rule of thumb CPU overallocation ratios 2:1 or even 3:1 are considered acceptable.
Please do consider though that this is done with the assumption of the bigger scale in mind, like Vsphere cluster with several servers, high-core count CPUs and few hundred VMs -> generally something that hosts not only priority production VMs, but also things with less priority like dev/test VMs that are mostly sleeping.
This is not your case - you have one host, that is overallocated, and your VMs seems to contesting the access to the CPU resources.
Some possible ideas how to solve this:
1. Descale your VMs - your CPU utilization ratio seems to be fairly average (40 % ?). That means your VMs are not really going on 100%, they are just spread over too many cores. Check over your bigger VMs (those 12 and 8 cores) and consider removing few vCPUs out of them. This way you will force OS scheduler inside the VMs to utilize fewer cores, but to the greater extent.
This is actually your best bet.
2. Ensure that your ESXi server is utilizing Turbo - check server BIOS settings, enable P-States, disable C-States, switch to power saving mode described like "OS Controlled", enable Turbo.
On the Vsphere side check that ESXi recognizes Power Saving modes, and verify that your cores can hit more than base speed.
This might give you some extra performance in the peak situation, but do not expect marvels. Your base clock is pretty high as is.
3. The last one is something I'd really like to ask others to consider whether it helps:
You may add in the advanced settings of the ESXi host the following line:
numa.PreferHT=1
May take for this setting is to enable NUMA scheduler to squeeze more inside each NUMA node.
As I understood this by giving NUMA scheduler more space you might minimize the amount of intra node migrations or avoid the situations when VM was scheduled wide.
Still this is not a magic wand, and if your VMs are asking for too much CPU it won't magically create them out of thin air.
4. The last solution is kinda obvious - buy new bigger server
New Cascade Lakes Refresh are not that bad, still if you manage to convince someone to buy server with single amd 7702p you might really get a blast :-)
Ofc dumping server that is at most 15 months old is not really a solution, but this is also something to consider in the long run.
Hope that helps
BR