There is only one main "coloring" agent, or pigment, in the eyes. That pigment is melanin. To a much lesser extent, at least in health individuals, you can have lipofuscin produced which gives a golden-amber color to the eyes. It should be noted that lipofuscin is most likely produced because of oxidation damage/stress in your eye, and not something to be hoping for (Beatty et al has a good review of the subject.Indeed, lipofuscin in the eyes can be seen as a symptom to physicians, so for the rest of the answer I will only consider melanin, eumelanin and pheomelanin in particular, as the normative pigment in the iris.To make additional colors, we would need to develop an additional pigment, and or modify eumelanin so that it produces different scattering properties. So why do we have melanocytes in the eye producing melanin in the first place?As much as we might consider it as a factor now, sexual selection was probably not the main pressure for having pigment in the eyes. Instead UV protection almost assuredly is. Thus for another pigment to be selected for, it would probably need to do a better job protecting us vs. UV (also, further selection in humans is hampered by all kinds of things like behavior, medicine, and life span).Eumelanin does a good job protecting us from UV and in fact does a better job than phenomelanin. It seems incredibly unlikely that we would develop the necessary evolutionary pressure to have our pigment epithelium to produce a totally foreign pigment.And that is what prevents us from naturally having a whole rainbow of colors in our iris. One could conceivably engineer a better pigment, and have the genetic information needed to produce it delivered in gene therapy ,I hate to think of people purposefully infecting their pigment epithelia. I, for one, wouldn't sign up for that.
Eye color pigments only vary from light brown to black. No green or blue pigments contribute to eye color. The variations you see in blue, green and hazel eyes are produced through not only a lack of dark pigmentation in the stroma but also the presence of Tyndall scattering, Rayleigh scattering and selective light absorption of certain biological molecules like hemoglobin - all this results in blue light being reflected more than red light. Kind of a cool optical trick.With blue eyes, the iris is pigmented and the stroma lacks pigmentation. Green eyes result from similar pigmentation in the iris but some light brown pigments in the stroma. Hazel eyes result from significant brown pigmentation in the iris' anterior border layer and light brown pigments in the stroma. Brown eyes contain larger amounts of pigmentation (melanin) in the stroma. A lack of pigmentation in both the stroma and iris, Albinism, produces red or violet eye colors. In summation, eye color is limited because humans only have brown pigmentation. Diversity results from the brown pigmentation range (amber to black), various distributions of pigments between the stroma and iris and Tyndall scattering in the stroma. Eye color is a polygenic trait. At least six genes are known to contribute to eye color phenotypes through at least 41