Gerry48: How much current dose the MCP23017 supply? I don't think is will source or sink 20 mA. You need an additional buffer like ULN2803A connected to MCP23017.
There is no need for this. If you look at the schematic the OP posted you will see he is running the LEDs at nothing like 20mA. With a 330R current limiting resistor the the red LED is drawing 9mA and the green and blue 6mA each. So that is 15mA per RGB LED. So for 5 RGB LEDs on one port it is only supplying 75mA. No need for any extra buffering.
There's also common anode and common cathode rbg leds. I would go with common anode.
Totally irrelevant, you can source or sink current with the MCP23017. In fact a mixture of sourcing and sinking would allow the LEDs to be driven at a higher current without exceeding the absolute limits on the chip.
Just to be clear, each MCP23017 should not have more than 5 leds on at a time.
Rubbish, you haven't looked at the OP's actual circuit, all the LEDs can be on at once if he uses the resistors in his own schematic.
The leds need about 20 mA each.
No they don't. The 20mA current is the maximum they should be allowed to take not what they need.