Here it is; The random square masks applied to the populations, all of which are using different seed values. None of the dots are used twice.
I have left the dots and squares faintly visible. Just remove the six surface layers from the shaders to get rid of this and make the node network a little less complex.
As the squares and dots are closely linked there are two master control nodes, both Constant Scalars, which have been labelled Dot Spacing and Dot Size. These have been placed outside any of the groups. The way each of the square cell is assigned to the population masks is controlled by the four Colour Adjust shaders, as before. However as the distribution is now based on a Perlin Noise function rather than a power fractal the values needed are less obvious.
This is only a quick render to show the setup working, there are lots of unpopulated dots, I have made no effort to adjust the population setting to try to cover these.