5 instances of the same game objects move to random locations pulled from a list sometimes overlap?

I have 5 of the same game objects that are each their own prefab

A preset grid of points on different locations has been captured in a list and on the start method the 5

Game objects take each of the grid points and selects one to randomly spawn at.

    public void RandomTransformersLocation()
    {
        int randomPos1 = Random.Range(0, positions.Count);
        int randomPos2 = Random.Range(0, positions.Count);
        int randomPos3 = Random.Range(0, positions.Count);
        int randomPos4 = Random.Range(0, positions.Count);
        int randomPos5 = Random.Range(0, positions.Count);
        transformer1.transform.position = positions[randomPos1];
        transformer2.transform.position = positions[randomPos2];
        transformer3.transform.position = positions[randomPos3];
        transformer4.transform.position = positions[randomPos4];
        transformer5.transform.position = positions[randomPos5];
    }

Everything in the list is functional and “positions” takes each of the preset locations into account and moves the 5 game objects onto the locations when this method is called in the start method

The obvious issue is that sometimes two of the objects can occupy the same space.

There is some stuff I’ve tried with colliders and getting one for each game object into a list but then i dont know what to do with that collider list so I’m pretty much back to square one of the game objects overlapping

I’m open to any solutions and please mind my nonsensical babble.

ps the script is not on the game objects but each is accounted for inside of the script thats shown