Why my enemy not going on y-axis its only going in x-axis

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

public class enmey : MonoBehaviour
{
public float speed;
public float stopping;
public float retreat;

public float startShot;
public float reloadShot;

public GameObject bullet;
public GameObject bulletFollow;
public Transform player;
// Use this for initialization
void Start () {

    reloadShot = startShot;
}

// Update is called once per frame
void Update () {
    EnemyShot();
    EnemyMove();
   
}

void EnemyMove()
{
    if(Vector2.Distance(transform.position, player.transform.position) > stopping)
    {
        transform.position = Vector2.MoveTowards(transform.position, player.transform.position, speed * Time.deltaTime);
    }
    else if (Vector2.Distance(transform.position, player.transform.position) < stopping && Vector2.Distance(transform.position, player.transform.position) > retreat)
    {
        transform.position = this.transform.position;
    }
    else if (Vector2.Distance(transform.position, player.transform.position) < retreat)
    {
        transform.position = Vector2.MoveTowards(transform.position, player.transform.position, -speed * Time.deltaTime);
    }
}

void EnemyShot()
{
    if (reloadShot <= 0)
    {
        //no rotate
        var number = Random.Range(200, 200);
        
        if (number == 1)
        {
            Instantiate(bullet, player.transform.position, Quaternion.identity);
        }
        else
        {
            Instantiate(bulletFollow, player.transform.position, Quaternion.identity);
            
        }
        reloadShot = startShot;
    }
    else
    {
        reloadShot -= Time.deltaTime;
    }

}
private void OnCollisionEnter(Collision Collision) {
 Destroy(Collision.gameObject);
//  if(Collision.collider)
  //{
    //   DestroyCollision.bulletFollow;
  //}
}

}

Maybe you can not use minus speed. try to use this :

else if (Vector2.Distance(transform.position, player.transform.position) < retreat)
{
    Vector2 pos = transform.position;
    Vector2 dir = (transform.position - player.transform.position).normalized;
    // you need tweak in this, like multple the dir like
    // dir *= 2f;
    transform.position = Vector2.MoveTowards(pos , dir,  speed * Time.deltaTime); 
}

Hope it help.