I added
transform.eulerAngles = new Vector3(90, -GetComponentInParent<Transform>().rotation.y, 0);
in the update of the label script within the if (!Application.isPlaying)
statement the label will have a fixed rotation independent from the parent instance rotation (technically it will rotate the label in the opposite direction).
That means you can use one prefab variant for each mesh which makes it both easier to place the tiles and makes the prefab folder cleaner.
You can make the label also always look towards the camera by slightly modifying the y rotation axis.