1P側で生成した鏡で使用しているRenderTextureと、2P側で生成した鏡で使用しているRenderTextureが、同じものを使っているのではないでしょうか。
複数のカメラのTargetTextureに同じRenderTextureを当てはめてしまうと、カメラが描画するたびにRenderTextureを上書きしていく形になってしまうため、最後の描画したカメラの映像がRenderTextureの画像になってしまいます。
ゲーム中に動的に鏡が複数個生成される可能性があるのでしたら、スクリプト上でRenderTextureとそれを使用するマテリアルを生成した方がいいかもしれません。
csharp
1using UnityEngine;
2
3public class MirrorObject : MonoBehaviour
4{
5 private RenderTexture m_renderTexture = null;
6 private Material m_material = null;
7
8 void Start()
9 {
10 m_renderTexture = new RenderTexture( 1024, 1024, 16, RenderTextureFormat.ARGB32 );
11
12 Renderer render = GetComponentInChildren< Renderer >();
13 if( render != null )
14 {
15 m_material = new Material( render.material );
16 m_material.mainTexture = m_renderTexture;
17 render.material = m_material;
18 }
19
20 Camera camera = GetComponentInChildren< Camera >();
21 if( camera != null )
22 {
23 camera.targetTexture = m_renderTexture;
24 }
25 }
26
27 void OnDestroy()
28 {
29 if( m_renderTexture != null )
30 {
31 Destroy( m_renderTexture );
32 }
33 if( m_material != null )
34 {
35 Destroy( m_material );
36 }
37 }
38
39} // class MirrorObject


補足:Colliderの外し方について
常にGameObject上に必要ないのなら、Colliderを右クリックして、RemoveComponentでアタッチが外れます。

スクリプト上の場合は、以下のコードを参考にしてください。
csharp
1// コライダーを削除する場合
2Collider col = GetComponent< Collider >();
3Destroy( col );
csharp
1// コライダーを無効化する場合
2Collider col = GetComponent<Collider>();
3col.enabled = false;