Yes there is a reason. Mario as tu 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 o have studied it in Art o sumthin, then tu 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 colores of the flag of Italy. Mario red, Luigi green and when both of them use the flor to shoot fuego 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.