"Setter" functions which can be called without arguments typically "release" the currently active state, for example
love.graphics.setCanvas,
love.graphics.setStencil and
love.graphics.setScissor. I'm not sure if this
quite the same thing as setting the color back to its original state. If "calling a setter function without arguments sets the state back to the original state" was a convention, one might expect, say,
ParticleSystem:setPosition to set the coordinates of the ParticleSystem to 0, 0 when it's called without arguments. I don't think this would be so good because you would have to be aware of the convention, otherwise it could be hard to tell what calling a setter without arguments means, and you'd have to be know what the original state is, and also the original state might be kinda arbitrary.
SpriteBatch:setColor when called without arguments does something special (*hoping I'm recalling this correctly*), in that is "releases" the set colors of the SpriteBatch, which means the SpriteBatch is then affected by the global color instead of individually set colors.
Just to note, I think the
love.graphics.push/pop stack only deals with coordinate system state, and not other graphics state such as color.