23 mm movement for a 100 mm command sounds like a combination of quadrature configuration and the arithmetic errors that robertmee pointed out. If you're using an A quad B encoder you're getting 4000 lines per revolution, not 1000.
Neither 37.3 mm nor 25 mm represent an integer number of teeth for appears to be an 8mm pitch. To get the most accurate ratio, instead of measuring the diameter of the pulleys, count the teeth and multiply by the pitch to get the distance traveled per revolution.