Cryptography: is there necessarily an infinite number of inputs for any given output in a hash encryption function?

This could be a very easy question. Consider the cryptographic hash functions with the usual properties, weak and strong collision resistance and preimage resistance.

For any given output, there are obviously multiple entries. But is that necessarily an infinite number of pre-images, for any given hash value?

How would you give a formal proof that there is no hash h () encryption function such that there is a given value v = h (m *) for which the possible set of inputs m * is finite? Would this necessarily break the resistance to collision?