Since you specify a format for your vAxis, you are not seeing the full precision of the values.
Specifying the number of gridlines is not a guarantee that you will get that number. The heuristics weight higher that the tick values should be nicer numbers, but they don't consider the format, unfortunately.
If you want to constrain the range of the vAxis, you should use the vAxis.viewWindow.min and .max values, or possibly the vAxis.minValue and .maxValue.
Another thing you could do is specify the vAxis.ticks option, with the exact values you want to use for the ticks.