Not finding closest Object with tag player.

I need this script to when the zombie spawns in to find the closest object with the name player within 10 meters, and set that object as the target. Right now it is not picking anything up with the tag Player even though the player is spawned in.

using UnityEngine;
using System.Collections;

public class zombieai : MonoBehaviour {

	public GameObject Target;
	public float speed;
	public Transform targettrns;

	void Start(){
		FindClosestEnemy ();
		speed = 1f;
	}

	GameObject FindClosestEnemy() {
		GameObject[] Targets;
		Targets = GameObject.FindGameObjectsWithTag("Player");
		GameObject closest = null;
		float distance = Mathf.Infinity;
		Vector3 position = transform.position;
		foreach (GameObject go in Targets) {
			Vector3 diff = go.transform.position - position;
			float curDistance = diff.sqrMagnitude;
			if (curDistance < distance) {
				closest = go;
				distance = curDistance;
			}
		}
		GameObject Target = closest;
		return closest;
	}

	void FixedUpdate (){
		if (Target != null) {
			targettrns = Target.transform;
			float step = speed * Time.deltaTime;
			transform.position = Vector3.MoveTowards(transform.position, Target.transform.position, step);
			transform.LookAt (targettrns);
		}
	}
}

I have found how to only follow the player within 10 meters by myself.

if (Vector3.Distance (Target.transform.position, this.transform.position) <= 10) {
targettrns = Target.transform;
				float step = speed * Time.deltaTime;
				transform.position = Vector3.MoveTowards (transform.position, Target.transform.position, step);
				transform.LookAt (targettrns.FindChild ("humanmalemodeltxt"));
}

You only called the FindClosestEnemy(); script, not put it into a varaible (it’s not just a void there)

You need to direct it to the target gameobject

 void Start(){
         Target = FindClosestEnemy ();
         speed = 1f;
     }