The only problem I've ever seen with a similar configuration to yours was when the client used Zyxel ADSL modems. With one turned off, the other worked fine and vice-versa. Try running two on the same Ethernet port and the whole thing ground to a halt.
It turned out that the Zyxels have some sort of stealth IP address they loop back to. It's not documented anywhere, but every modem has exactly the same address. The consequence is that if you put two of them on a single LAN segment (e.g. connect them both to the same switch), the Zyxels clash and everything dies.
With the Zyxel, the answer is to take the tick out of the "Any IP" box on the LAN configuration page. Again, this doesn't appear to be documented anywhere, but as soon as you do it, the problem goes away. Older versions didn't have the tickbox on the GUI and there's a command you have to type at the CLI which does the same thing. I've just looked back through my notes, but I don't appear to have kept that bit of information.
Hopefully your modems are Zyxels or units with a similar problem and the solution above works for you!