Why can addresses be shorter than 34 bytes?
Yes there can be multiple leading '1' characters, and each '1' represents one leading zero byte. This leads to a shorter address because normally each base58 character represents slightly less than 6 bits of information, but a leading zero byte contains exactly 8 bits of information.

For example the shortest address you can have is 1111111111111111111114oLvT2 (representing 160-bit hash of 0000000000000000000000000000000000000000). It has 21 leading "1" characters representing exactly 21 leading zero bytes (the hash prepended by another 00).