Actually, the blending mode has no impact if you are using a shader, because the shader does the blending. That happens here, in the fragment shader:
texture2D(textureUnit0, texCoord1)+texture2D(textureUnit1, texCoord)
Replacing the + by * gives you modulate blending. You are free to play around with some combination of vertex colors and both textures' colors to get something pleasing.
For specular, you would have to modify the lighting calculation in the shader. A simple hack might be to use the square root of the lighting's intensity instead of the intensity itself. If that's not good enough, you have to switch to per pixel lighting somehow.