Ensure a bullet only hits one enemy

Hello, I am making a 2D top down shooter game, and I am encountering a problem where a bullet would hit and deal damage to two or more enemies if it collides with both, even though it is supposed to only hit one enemy and destroy itself.

Here is the code for the bullet:

public class BulletMovement2 : MonoBehaviour
{
    private float moveSpeed = 100f;
    public float DestroyDelay = 0.05f;
    private EnemyHealthManager enemyHealth;

    // Update is called once per frame
    void Update()
    {
        transform.Translate(Vector2.right * moveSpeed * Time.deltaTime);
        DestroyDelay -= Time.deltaTime;
        if (DestroyDelay <= 0)
        {
            if (gameObject != null)
            {
                Destroy(this.gameObject);
            }
            
        }

    }

    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (gameObject != null && !collision.gameObject.CompareTag("Player")&& !collision.gameObject.CompareTag("Bullet"))
        {
            if (collision.gameObject.CompareTag("Enemy"))
            {
                enemyHealth = collision.gameObject.GetComponent<EnemyHealthManager>();
                enemyHealth.reduceCurrentHealth(1);
            }
            Debug.Log("Collided with " + collision.gameObject.name);
            Destroy(gameObject);
            
        }
    }
}

You can destroy the bullet gameobject right after you reduce enemy’s health. Just add this line after line 30 :-

 Destroy (gameObject);

Another option : you can add a bool “enemyHit” and check if it is false, right before you do everything and then after line 30, you can set it true.