Random number exclusion works only once [C#]

So for the game i’m making i want to spawn a score box randomly at any one of my preset spawn locations, however because i don’t want the box to spawn at the same position as the previous one i have tried to exclude the last generated number. Sadly, this only works once, if it even works of all of which i’m not certain. Does anybody know how to fix this?

CODE:
public class gameSystems : MonoBehaviour {
public float lastNumberGenned;
public float rdmFloat;
public Transform boxToSpawn;

    public float score;
    public AudioClip pickupAudio;
	

	void Awake () {

	spawnBox();

	}
	
	

    void AddScore(float scoreAdded)
    {
        audio.PlayOneShot(pickupAudio);
        score += scoreAdded;

    }


    void genRandomNumber ()
    {

        rdmFloat = Random.Range(1, 10);
        spawnBox();
    }

    void spawnBox()
    {
        
        if (rdmFloat == lastNumberGenned)
        {
            genRandomNumber();
            return;
        }
        
            
            
                if (rdmFloat != lastNumberGenned)
                {
                    if (rdmFloat == 1) { Instantiate(boxToSpawn, GameObject.Find("boxSpawn1").transform.position, Quaternion.identity); }
                    if (rdmFloat == 2) { Instantiate(boxToSpawn, GameObject.Find("boxSpawn2").transform.position, Quaternion.identity); }
                    if (rdmFloat == 3) { Instantiate(boxToSpawn, GameObject.Find("boxSpawn3").transform.position, Quaternion.identity); }
                    if (rdmFloat == 4) { Instantiate(boxToSpawn, GameObject.Find("boxSpawn4").transform.position, Quaternion.identity); }
                    if (rdmFloat == 5) { Instantiate(boxToSpawn, GameObject.Find("boxSpawn5").transform.position, Quaternion.identity); }
                    if (rdmFloat == 6) { Instantiate(boxToSpawn, GameObject.Find("boxSpawn6").transform.position, Quaternion.identity); }
                    if (rdmFloat == 7) { Instantiate(boxToSpawn, GameObject.Find("boxSpawn7").transform.position, Quaternion.identity); }
                    if (rdmFloat == 8) { Instantiate(boxToSpawn, GameObject.Find("boxSpawn8").transform.position, Quaternion.identity); }
                    if (rdmFloat == 9) { Instantiate(boxToSpawn, GameObject.Find("boxSpawn9").transform.position, Quaternion.identity); }
                    lastNumberGenned = rdmFloat; 

                }
                
        
    }

}

Change

else genRandomNumber();

to

else spawnBox();

I am an idiot. Forgot to call the void from the script i wanted to call it…