I can't say for sure why Fusion is only assigning 4 virtual CPUs to your VM when you select 8.
What is the guest operating system in the VM, and what is the virtual hardware version (that's available in the VM's Settings under Compatibility).
However it is a very, very bad idea to assign more than n-2 virtual CPUs - where n represents the number of physical cores - to a virtual machine. Hyperthreaded cores do not count!
The Mac needs to have resources available to run tasks on behalf of Fusion and the rest of whatever else you are running on your Mac. Assigning more than n-2 virtual CPUs will cause CPU contention and poor performance for both host and VM.
That means for a 8 core Mac, do not assign more than 6 virtual CPUs to a virtual machine, even if it may let you assign more.
8 is too many for that hardware. 7 is the absolute maximum that you should set, and 6 is the max recommended on a modern operatin g system.
Can you run 2 tests? One with 6 virtual CPUs and one with 8. Capture the vmware.log file found in the VMs bundle directory for each run and attach it to a reply.
You can attach logs to posts, the option is just below the text editor.