Sorry to reply you late as our team is busy in other projects.
The reason most like due to the fact that, inside FDTD, it records frequency so equi-distance frequency does not lead to equi-distance wavelength. However in your script you sampled the wavelength uniformly. I would suggest to get the frequency data from simulation for your script and then compare the results.