Calculating 2D Dimensions on Object using ArUco

I am writing a program that is measuring the length and width of objects captured through images using bounding boxes on opencv. I am measuring pixels and converting the pixel measurements to centimeters.

I am using a 5x5 ArUco marker in the image as a measurement calibrator. I printed out the AruCo marker and measured it by hand to confirm it is 5x5.

However, the marker is not being measured correctly when processing the image through opencv. It is measuring as 4.4 x 4.9 cm. My first instinct was that the camera needed to be calibrated. I calibrated the camera using checkerboard calibration of 70 images and a reprojection error of 0.253 but this did not fix the problem.

I am not sure how to proceed here to fix the problem. Any ideas would be helpful.

Thanks.