Prefab enemy not working issue

I’m fairly new to Unity and I’m trying to make my first game. I’ve created an enemy that moves to a random position every 6 seconds and shoots every 2, and it works fine, but when I add a second one they stop moving. Could you please help me? Thanks in advance! This is the code: (there are some small comments in spanish, sorry about that)

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

public class EnemieMovement : MonoBehaviour
{
    ElJugador player;
  
    private float time;
    private float timepassed;
   private Vector2 movement;
    private Vector2 startposition;
  
    private Vector2 desiredDestination;
    public static Rigidbody2D rb2d;
    public float speed;
    public LayerMask whatisenemie;
    private bool faceRight = false;
  
    void Start()
    {
        time = Time.fixedUnscaledTime;
        rb2d = GetComponent<Rigidbody2D>();
        player = Object.FindObjectOfType<ElJugador>();
    }

    // Update is called once per frame
    void FixedUpdate()
    {
        timepassed = Time.fixedUnscaledTime - time;
        if (timepassed >= 3)
        { startposition = transform.position; //donde empieza a moverse
            movement = new Vector2(Random.Range(-5, 5), Random.Range(-5, 5)); //la direccion que seguirá
            desiredDestination = movement + startposition; //a que coordenadas querrá ir
            time = Time.fixedUnscaledTime; //restart el cronometro
        }
       
        if (Mathf.Abs(desiredDestination.x) > 7.5)  //si la posicion deseada sale del mapa , se invierte.
        {
            movement.x = -movement.x;
            desiredDestination = movement + startposition;
        }
        if (Mathf.Abs(desiredDestination.y) > 5)
        {
            movement.y = -movement.y;
            desiredDestination = movement + startposition;
        }

        if(Physics2D.BoxCast(transform.position, new Vector2(0.45f, 0.9f), 0, movement, movement.magnitude,1 << LayerMask.NameToLayer("ground")))
        {
            movement = Vector2.zero;
            desiredDestination = movement + startposition;
           
        }//mira si puede ir a donde quiere ir


        rb2d.velocity = movement.normalized * speed; //el movimiento que hará
        Collider2D[] inTheZone = Physics2D.OverlapCircleAll(desiredDestination, 0.5f , whatisenemie); //si llega ala zona destino con un margen de error se frena.
        for(int i = 0; i < inTheZone.Length; i++)
        {if (inTheZone[i].gameObject.CompareTag("GunEnemie"))
            {
                rb2d.velocity = Vector2.zero;
              
            }
           


        }


        if (player.transform.position.x > transform.position.x && !faceRight)
        {
            flip();
        }
        if (player.transform.position.x < transform.position.x && faceRight)
        {
            flip();
        }


    }
    void flip()
    {
        faceRight = !faceRight;
        transform.Rotate(0, 180, 0);

    }
}

Ummm… why is your rigidbody2D static?