The one-time pad reuse reveals the differences of plaintexts due to its linearity:
$$c_1 = m_1 \oplus k,~~~~ c_2 = m_2 \oplus k,~~~~ c_1 \oplus c_2 = m_1 \oplus m_2.$$
Good block ciphers (based on Feistel Networks or SPN or anything else) on the other hand reduce the information directly leaked by the key reuse: if $c_1 = E_k(m_1), c_2 = E_k(m_2)$, then, given $c_1$ and $c_2$ we can only conclude whether $m_1$ and $m_2$ are equal or not (by checking whether $c_1$ and $c_2$ are equal or not).
First of all, this is not sufficient for modern encryption requirements: such an encryption is still considered insecure, because it still leaks information about the messages.
However, by using an appropriate block cipher mode (such as CBC, CTR), we can randomize the inputs to the block cipher, such that, even if the messages are the same, the inputs and outputs to the block cipher will be different (with very high probability). This way, an attacker won't be able to say if the messages were equal or not just given the ciphertexts.
UPD: to drive the point home, it's not about the non-invertability of the Feistel function $F$ itself: it can be invertible and the FN will still be secure (maybe with a few more rounds). In fact, you don't even need to invert $F$ to decrypt a block. The difficulty of breaking it is that an unknown secret key is used in a complex nonlinear way, making extracting any meaningfull relationship between plaintext/ciphertext blocks very hard (on the contrary to many-time pad, where the relationship is linear and simple).