Please explain to me how this device uses PWM to limit current

I have gotten rid of the "RGB amplifier" and now control the low side with three N-channel MOSFETs (IRF540s). They work great and draw the same current, but as soon as I did this I lost the ability to ISP the chip through the ISP port. I can pull the chip and program it in the Dragon, of course. Is that what the optoisolators were for? Are the IRF540s causing noise on the Arduino's PWM pins that the "RGB amplifier" was able to suppress? One of the pins I am using for PWM is also an ISP pin (pin 11). I am guessing that is the issue. Maybe I will move that off to another pin...