transform.lookat() limitation...

void Update () {
transform.position = GetCenterPoint ();
transform.LookAt (targets [1]);
transform.rotation = Quaternion.Euler (0, transform.rotation.eulerAngles.y, transform.rotation.eulerAngles.z);
}

	Vector3 GetCenterPoint(){
		var bounds = new Bounds (targets [0].position, Vector3.zero);
		for(int i = 0; i < targets.Count; i++){
			bounds.Encapsulate(targets*.position);*

You’re setting the rotation twice. Store the "look rotation in a local variable, modify that one and then set the rotation. Use Quaternion.LookRotation(target - transform.position) to get the look rotation