As mentioned before, if you want to manually calibrate the MAG3110 using previously obtained calibration values, you need to do a few things: Save the offsets using mag.readOffset(), and save the scaling floats, mag.x_scale and mag.y_scale. When reloading this calibration, you have to use mag.setOffset() and write the old scaling factors back to mag.x_scale and mag.y_scale. For completeness, update the mag.calibrated value to true as well. Note that as the calibration data becomes outdated, recalibration is recommended.
The guide tells you pretty much everything you need to do. After calibration is done, read the offsets for each axis (x and y as z axis is not calibrated anyways). Then read the scaling floats and store them somewhere. After every reset of the arduino or every power cycle of the mag3110 you need to restore those values.
Here is some pseudo code
// After calibration
int magXOffset = mag.readOffset(0);
int magYOffset = mag.readOffset(1);
// In setup
int magXOffset = readIntFromEEPROM(MAG_X_OFFSET_MEM_ADDR);
int magYOffset = readIntFromEEPROM(MAG_Y_OFFSET_MEM_ADDR);
float magXScale = readFloatFromEEPROM(MAG_X_SCALE_MEM_ADDR);
float magYScale = readFloatFromEEPROM(MAG_Y_SCALE_MEM_ADDR);
mag.x_scale = magXScale;
mag.y_scale = magYScale;
mag.calibrated = true;