[...]
I noticed something similar when comparing DPS values plugged from the weapons_report.csv (exported from the attribute editor) and those on Serealia's site. Most of the time both are quite a bit off and i also won't get these jagged curves Serealia has for some weapons (e.g. the Gren LMG).
After scratching my head for a while the most plausible explanation I've come up with is... rounding.
There's a lot stuff where the need for rounding is pretty obvious; the number of bullets fired per burst for automatic weapons clearly needs to be an integer value (and is probably rounded down to the nearest integer), hence if this varies with distance there will be some sort of breakpoints that the formula you use won't produce. The same should also apply to things like reload frequency as in your example, and depending on how this gets rounded there will be a jump from 6 to 7 shots per cooldown at some range.
Then there's also the issue of frames and if these are rounded or truncated as well somehow. For example, there's a note in the editor that the fire and ready aim times needs to be at least one frame (0.125 s), but on Serealia's site there are often lower values given at close range (due to the n,m,f multiplier for aim time).
To cut a long story short, there are a lot of unknowns in the DPS formula that I've got no idea how these are actually integrated in both the live game and Serealia's DPS code. So if anyone has more info on that I'd also greatly appreciate to know!