Stop overlapping geometry creating holes

Hello hive mind, you beautiful knowledgeable bunch!

Very new to grasshopper and I have been so impressed with it so far, however I am finding myself rather stuck.

I thought I would create a program (if that is what it is called? or algorithm?) that would allow me to plot points on the XY plane and then use them to create a desk top.

I have got quite far and have managed to work out how to stop the optional holes for cable entry being too close to the edge, but I cant seem to work out how to stop them from being too close to each other.

I would like them to maintain a minimum distance of 20 from each other and the edge of the desk top (brep) but try as I have through trail and error and much incredibly helpful resource on this forum I have drawn a total blank… no pun intended.

I am sure there are many different ways to crack this particular nut and would welcome all of them as my understanding of many of the tools is non existent.

Thanks in advance