Change color of object, next color overlays instead of replaces

Ok so I’ve got a GUI with multiple buttons, each to change an object to a different color.
The script works great, but if I select one color and then another Unity seems to combine both colors and creates a new color.

My code looks like this:

		if (GUI.Button (Rect (490,785,80,20), GUIContent("White", "White"))){
						for (var obj: GameObject in Roof){
						obj.renderer.material.SetColor("_Color",activeColor); //Set Colour Option
					  }
		}

I have a second button with a different color, once I press the next button it mixes the 2 colors.

Example: Button one is White,
Button two is dark blue

When I click button one, the white looks great, then I hit button two and instead of switching to blue, it creates a Light blue (teal) color (mixing the 2 colors)

Also have the same thing happen when I try switch the Texture (using a solid color png)

Have you tried simply just saying

for(var obj in Roof)
{
    obj.renderer.material.color=activeColor;
}

This will switch the materials color to the activeColor. Since you are accessing the shader it is up to the shader how it interprets the new color (either using a combine technique of any sort or just using that single color). Try the fore-mentioned code, it should give you the results you want.