Weird lighting bug causes boxes around light sources, can't find a solution

Hello, I have encountered this tragic issue in my project where point lights and spotlight all cause these weird squares to appear surrounding the lights.

I am using a custom shader (standard surface) that seems to be relevant to this issue.

here is some information about the issue:

INFO ABOUT THE SHADER
The shader uses the “finalcolor” pass to create the dithering and palettization. But the shader also uses the “Lambert” lighting method (I tried changing back to the default “standard” lighting method but that didn’t stop the issue).

INFO ABOUT THE LIGHTING
The game does not use lighting probes, and does not have a skybox material applied in the lighting tab.

THOUGHTS AND COMMENTS
By looking around the scene, the weird box around the light seems to be some kind of bounding box for the light calculation.
The weird box does not appear when using directional lights, even when shadows are on.
This weird box also seems to make the area inside more colourfull?!? almost as if it applies some kind of post processing or increases the exposure or something.

THE SHADER CODE USED (sorry in advance for the bad code quality):

Shader "Custom/FullColor"
{
    Properties
    {
        _Color("Color", Color) = (1,1,1,1)
        _ShadowColor("Shadow Color", Color) = (0,0,0,1)
        _MainTex("Albedo (RGB)", 2D) = "white" {}
        _DetailTex("Detail Texture (RGB)", 2D) = "white" {}
        _ShadingBias("Shading bias", range(-2,2)) = 0.0
        _DetailInfluence("Detail Influence", range(-2,2)) = 0.0
    }
        SubShader
    {
        Tags { "RenderType" = "Opaque" }
        LOD 200

        CGPROGRAM
        #pragma surface surf SimpleLambert fullforwardshadows finalcolor:fColor

        // Use shader model 3.0 target, to get nicer looking lighting
        #pragma target 3.0

        sampler2D _MainTex, _DetailTex;


        half4 LightingSimpleLambert(SurfaceOutput s, half3 lightDir, half atten) {
            half NdotL = dot(s.Normal, lightDir);
            half4 c;
            c.rgb = s.Albedo * _LightColor0.rgb * (NdotL * atten);
            c.a = s.Alpha;
            return c;
        }


        struct Input
        {
            float2 uv_MainTex;
            float2 uv_DetailTex;
            float4 screenPos;
        };


        fixed4 _Color, _ShadowColor;
        fixed _ShadingBias, _DetailInfluence;

        // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader.
        // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing.
        // #pragma instancing_options assumeuniformscaling
        UNITY_INSTANCING_BUFFER_START(Props)
            // put more per-instance properties here
        UNITY_INSTANCING_BUFFER_END(Props)

        void fColor(Input IN, SurfaceOutput o, inout float4 color) {

            float value = (color.r+ color.g+ color.b)*0.333;

            value = ((value - 0.5) * 2) + 0.5;//apply contrast
            value += _ShadingBias;//apply shading bias

            value = max(min(2,round(value * 2)),0);// splits continuous value into three bands


            float2 screenUV = IN.screenPos.xy / IN.screenPos.w;
            screenUV *= float2(_ScreenParams.x, _ScreenParams.y)*0.125;
            

            if (value == 1) {//if middle grey band: do checker pattern
                color.rgb = (round( (screenUV.x % 0.5)*2) + round((screenUV.y % 0.5) * 2))%2;
            }
            else 
            {
                color.rgb = value*0.5;
            }

            color.rgb *= round(tex2D(_MainTex, IN.uv_MainTex)*5)*0.2;//apply object colour
            color.rgb += _Color * (color.r + color.g + color.b) * 0.333;//apply object colour
            color.rgb += (_ShadowColor * (2 - value));//add shadow color
        }

        void surf(Input IN, inout SurfaceOutput o)
        {
            // Albedo comes from a texture tinted by color
            fixed4 c = tex2D(_MainTex, IN.uv_MainTex);
            c *= 1+tex2D(_DetailTex, IN.uv_DetailTex)* _DetailInfluence;
            o.Albedo = c.rgb;
            

            o.Alpha = c.a;
        }
        ENDCG
    }
        FallBack "Diffuse"
}

If anyone had any insights on the solution, I would be infinitely grateful.