How can you end up with 33 characters? Does it have to do with the starting zeroes of the RIPEMD-160 hash?
Nope. In Bitcoin addresses, Base58 works by taking the network bytes + RIPEMD160 + checksum and converting it to a decimals and afterwards using the modulo and getting the remainder from repeated divisions of 58. Afterwards, you reverse the byte order of the the remainder and match it to the table provided. As such, the first character after 1 would be the last modulo of the integer.
The highest possible integer is 6.2771017e+57 for a Bitcoin address (34 characters) which is around the neighbourhood of (58^32 x 23), 23 being Q on the encoding table. As such, for the second letter to be R through z, it has to be a 33 characters and below address, highest possible integer is (58 ^ 32) and is 23 times less likely.
Do CMIIW.