Azure places limits on the amount of vCPUs you can allocate for each VM size. If your subscription does not have any cores, then your batch job will not be able to allocate. Here is a doc that outlines the process to request more cores for a given VM size.
The default quota limits that you are seeing are placed on your subscription when it is created, and sometimes modified depending upon VM availability. If you need more cores in a particular region and of a specific size, just request it using the process I linked above. Once the cores have been allocated, the batch job should run without an issue.