Led Bulb Flicker when duty cycle is below 40%. What is wrong with circuit?
This looks like a mess waiting to catch fire or electrocute someone.

You don't say where this is, but almost certainly some part of the AC line is tied to ground somewhere.  That means you have a hidden conduction path from somewhere in the "AC Supply" block to the source of both FETs.

The only way the concept is valid is if this "AC Supply" block is a completely isolated secondary of a transformer, but that's a long way to go to light a LED.

If this thing is still working at all, then the reason it might be flickering is because of a beat frequency with the AC line.  You didn't even mention the PWM frequency, so it seems you didn't think about it and it could therefore be a issue.