Help with application of scikit-learn(K-means Clustering ) for point cloud

Good day, Everybody
I have a task I should create many circles in a point cloud (my file can be .csv) to calculate their diameter in the area around 100m x 100 m.

I have the coordinates of the starting point.

The circles should be created at the height of 1.35 m from the initial point. For example, I have z=600 m, so I will create all circles at 601.35 m. It means i want to work mostly with 2D data.

The main issue is there are a lot of points at least 2 million, and some of them are spread.

I want my script to move a circle at a height of 601.35 m and change the diameter of the circle to fit the shape of the circle. The main purpose is to find enough points (around 20 points) that fit in the circle and show the diameter of each circle. The diameter will be from 0.1 m to 0.9 m.
I give the figure to demonstrate my idea.

I will be happy to get any help. Probably, somebody has already developed a similar script.

As to the final output, a list with the diameters in .csv will be okay.

As to modules, I think about scikit-learn with K-means Clustering or Spectral Clustering.

Thank you very much in advance.