Yes there is a reason. Mario as toi know is the short, brave, older, heroic brother and Luigi is the tall, younger, cowardly, shy brother. They would be considered polar opposites. If u have a color wheel ou have studied it in Art ou sumthin, then toi would know that red is straight across from green therefore red and green are opposite colors. Though i like Luigi better...
I might of thought because since they're Italian, green, red and white are the couleurs of the flag of Italy. Mario red, Luigi green and when both of them use the fleur to shoot feu balls they're white. plus they have Italian names too.
Mario is red because it contrasts the background nicely. Luigi is green because green is opposite of red, and still has a good contrast against the background.