One VM is only running on one physical host at any given time. This means a single VM can only use the resources provided by a single host. As one vCPU maps to one thread of a physical CPU, it doens't make any sense at all to provide a VM with more than 24 vCPUs in your environment (2x6 cores + HT which you should have enabled). I also think you can't even create a VM with more vCPUs than you have physical threads available in your single host.
The request for 40 vCPU seems obviously oversized and unaware of the infrastructure. I hope they have an extremely solid and objective explanation for this, which I guess they don't have at all.
Hell, even a physical recent Intel 2-socket, 8-cores +HT powerful server can't provide them with that much CPU resources.