How to move character X and Z axis?

I have my code that randomly moves my NPC around. Currently my monster only moves left and right on the X axis, but I want the monster to randomly move via the X and Z axis. Thank you for any help!

public class Walking : MonoBehaviour {
private float latestDirectionChangeTime;
private readonly float directionChangeTime = 3f;
private float characterVelocity = 2f;
private Vector3 movementDirection;
private Vector3 movementPerSecond;


void Start(){
    latestDirectionChangeTime = 0f;
    calcuateNewMovementVector();
}

void calcuateNewMovementVector(){
    //create a random direction vector with the magnitude of 1, later multiply it with the velocity of the enemy
    movementDirection = new Vector3(Random.Range(-1.0f, 1.0f), 0,Random.Range(-1.0f, 1.0f)).normalized;
    movementPerSecond = movementDirection * characterVelocity;
}

void Update(){
    //if the changeTime was reached, calculate a new movement vector
    if (Time.time - latestDirectionChangeTime > directionChangeTime){
        latestDirectionChangeTime = Time.time;
        calcuateNewMovementVector();
    }
 
    //move enemy: 
    transform.position = new Vector3(transform.position.x + (movementPerSecond.x * Time.deltaTime), 22.45f,
        transform.position.z + (movementPerSecond.y * Time.deltaTime));
    

}
}

The problem is that you change the value transform.position.z with the value movementPerSecond.y. The value movementPerSecond.y will always stay 22.45f in the Update function. This could work:

  //move enemy: 
     transform.position = new Vector3(transform.position.x + (movementPerSecond.x * Time.deltaTime), 22.45f,
         transform.position.z + (movementPerSecond.z * Time.deltaTime));