Why must resistors be on the respective anode terminals instead of the common cathode terminal of a RGB LED?
The red led will hog all the current because it might only need 2 volts across it to begin conducting. The green and blue LEDs need a higher voltage but because they are all in parallel the red led dominates. Try measuring their respective volt drops when each operates.
It's like putting a 5 volt zener in parallel with a 10 volt zener. The 10 volt zener will never conduct.
For a single LED you are correct - which side you put it on does not matter. However, an RGB LED is a rather different animal since one side of all of the elements are tied together. This presents a bit of a problem. If you wire the common terminal directly to a power rail and put 3 resistors on the other side, it will work as expected. However, if you a stick one resistor pin on the common terminal, you will have some issues. If you only try to turn on one element at a time, it will work correctly. However, if you try to turn on more than one, then the LEDs will be in parallel and they will behave in an unexpected manner. If the forward voltages are the same, then the LEDs will split the current and light up at half brightness, approximately (not exactly because the current will never quite split exactly). If the forward voltages are different, then only the LED with the lowest forward voltage will light up as it will turn on and steal all of the current before the other LEDs will exit cutoff. Bottom line: don't put LEDs in parallel as they will not evenly share current.