Greetings,
My CNC had a similar problem.
I run LinuxCNC with Stepper motors.
Withing the LinuxCNC configuration is a parameter to compensate for backlash on each of the drives.
Roughly an hour running the machine forth and back with an indicator allowed me to remove a great deal of the error.
Not ideal; but, with light cuts the machine is fairly accurate now.
Remember to restart the program to read the changes made, if any, to the config files.
Cheers,
Dave