I like both colleague's and Preston's approaches. Here is yet another
I just created some even spaced Paths over the blank image area (one path to two, then two paths to four, four paths to eight. etc etc) see first image. Then I just did a stoke fill on the paths after setting the Brush characteristics to random size variation in the Brush Settings panel for the second image. For the third image, I just added a brush scattering characteristic. Lots of possibilities to consider. Hope this gives you another "Path" to consider
Screen shot of Paths created over image
Select all Paths and stroke only with size variation for brush
Image using size and scattering brush characteristics
As for this part of the request, you can use this JSX file. It will be active for a week from today.
Once you download to your computer, open Photoshop, go to File>Scripts>Browse...> (Select the downloaded file) >Load
PS will be slow to process this script as it has to draw 400 different random circles. Be patient and let it finish.
Each time you run this script, it will generate a different looking image owing to random selection of circles. Here is what I obtained on running it a second time: