@craigp, the result of my solution should be independent off the circle diameter. It solely depends on your desired division length that has to be equal to the individual cell height and width. In your example above, your tolerance is probably too high. A good value would be 0.035 or even lower. If it’s higher more points are accepted.
For a desired division length of 3 units and square cells, the hypothenuse or cell diagonal equals 4.242. Now, the hypothenuse divided by two, equals 2.121, your ideal distance from edge vertex to cell center.
Your tolerance being 0.07, means that you accept values smaller than 2.367 (2.212 + (2.212 * 0.07)) and larger than 2.05716 (2.212 - (2.212 * 0.07)) to find acceptable points.
Centering the points is dependent on @dowazura’s solution, but I think that @HS_Kim already provided a solution.