Given the high casualty rate suffered by Connies in those three years of TOS, it's possible there had been several dozen of them built but only a dozen survived as of "Tomorrow is Yesterday." 
But really, it's not that surprising that the largest class of starship would be the least numerous. By analogy, the US Navy has only 11 aircraft carriers currently in service, and that's the largest carrier fleet in the world. From Wikipedia:
The Constitution Class is pretty much analogous in size to an aircraft carrier (though its crew complement is far smaller), so it makes sense that there wouldn't be that many of them. Though one would expect a multiplanetary federation's fleet to be considerably larger than one nation's fleet.
But though there's no evidence onscreen, I like to think that maybe the ships we've seen represent the Earth fleet within the organization known as Starfleet, and that maybe there was also a Vulcan fleet (consisting of ringships), an Andorian fleet, a Tellarite Fleet, etc. That would explain why the Starfleet vessels we've seen always have Earth-derived names. And maybe those other fleets have their own heavy cruisers comparable in size and capability to the Connies.

But really, it's not that surprising that the largest class of starship would be the least numerous. By analogy, the US Navy has only 11 aircraft carriers currently in service, and that's the largest carrier fleet in the world. From Wikipedia:
There are currently 11 aircraft carriers, 22 cruisers, 55 destroyers, two littoral combat ships, 30 frigates, 10 amphibious assault ships, two amphibious command ships, nine amphibious transport docks, 12 dock landing ships, 53 attack submarines, 14 ballistic missile submarines, four guided missile submarines, 14 mine countermeasures ships, eight patrol boats, and one technical research ship (military intelligence ship, the USS Pueblo, which is currently held by North Korea).[1]
Support ships include two hospital ships, four salvage ships, two submarine tenders, four ammunition ships, five combat stores ships, four fast combat support ships, nine dry cargo ships, 15 replenishment oilers, four Fleet Ocean Tugs, four ocean surveillance ships, four container ships, 16 cargo ships (used for pre-positioning of Marine and Army materiel), and seven vehicle cargo ships (also used for prepositioning).[1]
The Constitution Class is pretty much analogous in size to an aircraft carrier (though its crew complement is far smaller), so it makes sense that there wouldn't be that many of them. Though one would expect a multiplanetary federation's fleet to be considerably larger than one nation's fleet.
But though there's no evidence onscreen, I like to think that maybe the ships we've seen represent the Earth fleet within the organization known as Starfleet, and that maybe there was also a Vulcan fleet (consisting of ringships), an Andorian fleet, a Tellarite Fleet, etc. That would explain why the Starfleet vessels we've seen always have Earth-derived names. And maybe those other fleets have their own heavy cruisers comparable in size and capability to the Connies.