Why don't we have more registers in microprocessors?
There are several factors:


high performance micro-architectures use register renaming.  That is, the number of physical registers is higher than the number of architecturally visible registers and they are able to track independent uses of them.
doubling the number of registers does not double the performance.  ISTR (from Computer architecture, A Quantitative Approach) that going from 16 to 32 registers brings something like a 10% improvement assuming that the increase has no adverse effect (which is a very optimistic assumption).
architecturally visible registers have costs.  For instance:


Increasing their number increases the number of bits taken in the instruction format to indicate which register is being acted on (doubling the number of register implies to have one more bit per register in the format, thus preventing to use those bits for other usages or forcing a longer instruction size).
Increasing the number of architectural registers increases the context switching cost (as they must be saved and restored on context switch).