Why does the unit step function not have infinite poles?
No. Every point that's not in ROC doesn't have to be a pole. ROC is a region where the transform attains a finite value, but this ROC also has to "produce back" the time domain signal via the inverse transform, or else it does not converge to that sequence in time domain. So you have to take both the finiteness of the transform as well as the reproducibility of the time domain signal via the inverse transform into account to define a "region that converges and is consistence for both aspects" while defining an ROC for a signal. I am sure you know that the same transfer function with different ROCs produces different time domain signals. So specifying a transfer function does not uniquely define a time domain signal. Only when an ROC is defined along with the transfer function can we associate to a unique time domain sequence. So the left over region that's not part of the ROC doesn't have a pole, since clearly if we shift the ROC to be that side now, we can define a different sequence.