Terraform can certainly do this, but it should be said here that packer’s vsphere-iso builder (and others) can do this without Terraform. Also, a vSphere template is not technically required to get packer to build multiple VMs on ESXi/vSphere. Depending on your use case, using a templated, chained approach might be the way to go, however, as it can save a lot of (build) time.
To my initial point (packer can do this, without TF and without VM templates), you would simply define multiple builders in your packer template, and these will by default be built in parallel.
…and like me, you will likely find that using HCL2 instead of json will pay off in spades, since with HCL2 you can do things like define your builder as a “source” that can be reused across your multiple builders…