You should try to create a standard block model for the torch rather than using the one provided in Minecraft. Minecraft does a very strange thing with the torch by creating two extra cubes to render the sides of the torch without uv distortion. I'm not sure why they use this, probably someone more knowledgeable about how Minecraft was programmed could answer that. However, this sort of poses an issue when rendering. The torch by default is rendered as a cutout while the stained glass is rendered as translucent. This means that either the glass will be treated as a cutout (no variable opacity/alpha) or the torch will be treated as translucent (texture might incorrectly render at some places since it is still 16x2 or 2x16 on the cubes). The best way to fix this is just to adjust the torch element so that it is just a single block rather than 3 cubes that render the sides.
If you have done that, the code should look somewhat like this for the torch faces:
"north": {"uv": [7, 6, 9, 16], "texture": "#torch"},
"east": {"uv": [7, 6, 9, 16], "texture": "#torch"},
"south": {"uv": [7, 6, 9, 16], "texture": "#torch"},
"west": {"uv": [7, 6, 9, 16], "texture": "#torch"},
"up": {"uv": [7, 6, 9, 8], "texture": "#torch"},
"down": {"uv": [7, 13, 9, 15], "texture": "#torch"}
This should remove the need for your block to be rendered as a cutout making it valid on any render layer.