Why does adding shaders take the colour out of grass in render mode
You have to be careful what information you connect on the node sockets.

Sockets have colors (Yellow, Green, Gray or Purple) for a good reason: so that you use the correct kind of information.

You can't connect color information (yellow) to the green input of mix shaders.

Likewise, plugging the output of a mix shader to the color input of an other shader makes no sense. The output of a shader can only be plugged in to mix shaders or to the material output sockets.



Please read the following link for a detailed explanation:

What is the meaning of the color of the node sockets in the node editor?



Read also: Cycles and nodes, trying to use Diffuse BSDF as color source for Glossy/Subsurf Scattering BSDFs.. not working