When I destroy my game object, my script stops working

Every time my game runs and I destroy one of my enemy sprites, the game does not spawn additional enemies and gives me this error:

MissingReferenceException: The object of type ‘GameObject’ has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.

Then is says the following: EnemySpawner.Update () (at Assets/Scripts/EnemySpawner.cs:32)
(I think this is the location of my error)

I can post any other pieces of code if needed

Code:

using System.Collections;

public class EnemySpawner : MonoBehaviour {
public GameObject EnemyPrefab;

float SpawnDistance = 15;
float EnemyRate = 5;
float nextEnemy = 1;  

// Update is called once per frame
void Update () {
	nextEnemy -= Time.deltaTime;

	if(nextEnemy <= 0) {
		nextEnemy = EnemyRate;
		EnemyRate *= 1.25f;
		if(EnemyRate < 2) {
			EnemyRate = 2;
		}

		for(int i = 0; i < EnemyPrefab.GetLength(0); i++)
		{
			Vector3 offset = Random.onUnitSphere;

			offset.z = 0;

			offset = offset.normalized * SpawnDistance; 
				
				GameObject go = (GameObject) Instantiate(EnemyPrefab*, transform.position + offset, Quaternion.identity);*

_ EnemyPrefab = go;_
* }*
* }*
* }*
}

I modified your script:

using System.Collections;
using System.Collections.Generic;

public class EnemySpawner : MonoBehaviour
{
  //Array of enemy prefabs
  public GameObject[] EnemyPrefabs;
  //List to track spawned
  List<GameObject> Enemies;
  float SpawnDistance = 15;
  float EnemyRate = 5;
  float nextEnemy = 1;
  
  void Start()
  {
    //Initialize List
    Enemies = new List<GameObject>();
  }
  
  // Update is called once per frame
  void Update ()
  {
    nextEnemy -= Time.deltaTime;
 
    if(nextEnemy <= 0)
    {
      nextEnemy = EnemyRate;
      EnemyRate *= 1.25f;
      if(EnemyRate < 2) {
        EnemyRate = 2;
      }
      
      //For Each Enemy Prefab
      foreach(GameObject prefab in EnemyPrefabs)
      {
        //Spawn an enemy of that prefab
        createEnemy(prefab);
      }
    }
  }
  
  public void createEnemy(Prefab)
  {
    Vector3 offset = Random.onUnitSphere;

    offset.z = 0;

    offset = offset.normalized * SpawnDistance; 
             
    GameObject enemy = (GameObject) Instantiate(Prefab, transform.position + offset, Quaternion.identity);
    //Add Spawned Enemy to list
    Enemies.Add(enemy);
  }
  
  //To destroy an enemy, call this
  public void destroyEnemy(GameObject enemy)
  {
    //Remove spawned enemy from list
    Enemies.Remove(enemy);
    //Destroy Enemy GameObject
    Destroy(enemy);
  }
  
  public int enemyCount()
  {
    return Enemies.Count;
  }
}