usua\lly because the bed is not physically level.

Bed levelling g code is NOT a substitute for actually physically levelling the bed.
Probably several million youtube videos on bed levelling :-)

Also make sure the x gantry is level.

The problem you have is that the ender 3 is one of the worst designed i3 printers on the planet. So the bed and gantry are prone to not being perfectly level.
You also have the issue that the bowden tube is at a bad angle when printing close to the extruder, so filament won't be pushed through it as easily as it will when on the opposite side of the bed.

It can be done - but don't expect it to be easy :-)

On the other hand - because the ender 3 is such a piece of crap, an awful lot of people have spent an awful lot of time working out how to actually make the things work.
Lots and lots of modification and videos on this.

So go do some homework and good luck !