Both the LAN and the WAN ports of the secondary monowall both plug into the bank of switches as well.
Ok, I think that might be the problem. I was assuming that the second m0n0wall was in "front" of that switch. I thought the second m0n0wall WAN was connected to the switch and the LAN was connected to the phone (or PC, another switch, etc).
If you have both LAN and WAN ports of m0n0wall plugged into the same switch that also has the LAN side of the first m0n0wall networked with it, then the phones won't be able to route through that different subnet because they are technically on the same physical layer and the other machines just ignore them.
Kind of like having a room full of people speaking english, then a group of people come in and start talking in burmese trying to communiate with the english people, both groups look at each other funny because neither understands what the other is saying. But the groups can communicate with each other (ping), just not with the other group because the "translator" guy (or in this case, the gateway machine) is out on a lunch break somewhere.
To remedy, you need only the second m0n0wall WAN connected to the switch, the second m0n0wall LAN needs to be the one connected to the phones because it's the gateway that is going to merge the two different networks together so that the phones can communicate with the PC and vice versa, etc.
Now I know someone is going to chime in and say "why not just communicate in/out of the same interface, since it has an option to enable that" for which I answer that sometimes that doesn't work due to the way a switch routing table tries to track states and route packets in which different subnets that are both source and destination at the same time are often dropped by routers because it's a popular attack point for hackers. It would probably work for a hub, but not so much for any switch that uses a states table.