When the build queue piles up new instances are launched. One per waiting job, it seems. I've attached a screenshot of my configuration. The instance cap per AMI doesn't have any effect either.
I believe this may be related to spot instances not coming up with the Jenkins slave tags, and so not being counted correctly. Though the global cap should apply to the overall number of running instances, no?