Red LEDs have a much lower voltage drop than other colors so in order to compensate, the mosfet is having to drop a significantly higher amount of voltage/power.
Red LEDs usually have a drop of 1.8 V while Blue and green are up into the 2.5-3.3 range generally. This means that the Red mosfet will have to drop about an extra volt at whatever current you're running it at. Power wasted is V*I.
The way to get around this would be to have a switching regulator that brings the voltage down closer to the range you're after for the Red LED and then power it that way. Otherwise, you'll always end up with wasted power and more wasted power from the red LED channel.
If you don't want your red mosfet getting hot, you could determine how much current and voltage it is dropping compared to the others and then add a series power resistor to absorb some of the power for the Red LED. In this way, you distribute the heat between the resistor and the mosfet driving the red LED.
EDIT:
Doxy has pointed out that there's already a constant current driver/resistor on each LED so I suspect that the problem is actually that they're using the same resistors for all colors of LEDs. This results in a higher voltage dropping across the same value resistor which means an increase in current for the red LED. Then your mosfet switcher is actually always seeing a larger current than the others. The easiest fix here is still as I mentioned originally. Add another resistor to the red LED path to balance out the current between all of the colors.
Alternately, you may try reducing the duty cycle on the Red LED's and see if that alleviates the problem.
It could be a part issue. In that case, swap the MOSFET's around between say Red and Blue and see if the Red MOSFET still heats up the worst.
Otherwise, if these three things don't help you out, without more diagnostic information on the circuit, there's not much anyone can tell you.