Robin,
This branch of the code fixes the GC (rcut=1.4) discrepancies, and also fixes the MSM q'4 / q'6 data (with some catches, mentioned below). You can check it with the test files here: 
https://github.com/bdice/freud_boops_accuracy
I'm going to try and get some other open pull requests affecting the Steinhardt order parameter merged first, and then re-apply this fix and make a new release of freud. I hope to have a fix released in the next week.
This error might be a remnant of a previous implementation of Steinhardt averaging, where two neighbor shells were needed because the second neighbor shell was used to compute qlmi before averaging that into the first neighbor shell. Currently we compute qlmi for all particles before performing the averaging in a separate loop, which now only should need to iterate over one neighbor shell to compute averaged quantities from the qlmi values previously computed for all particles. The code has been re-implemented a few times and this was likely an oversight. Unfortunately, this bug was not caught by our tests.
It was kind of hard to construct good tests for the MSM data. Some of the Voronoi bonds in your test file have tiny facet weights. For an example, see the bond between particle 136 and 2532 in the debugging output below. That neighbor pair may not even show up for you depending on whether you read the dat or the gsd file, but changing the neighbor counts will affect the averaged parameters by a factor of sqrt(Nb/(Nb+1)) or something like that. Numerical issues between float/double and truncated precision in the dat file made it hard to create a perfect set of reference data for freud. I now get agreement between your MSM reference code and freud for averaged Minkowski Structure Metrics q'l from l=0 to l=6, within an absolute tolerance of 5e-5 for all but 37 of the 3288 particles. I got around this by enforcing that ~98.5% of the particles have to match within the specified tolerance. I will adapt this new testing code into freud's tests, so that we have validation data for the future.
Thanks again for raising this issue. I sincerely appreciate your effort in making this bug reproducible.
---------------------------------------------------
Testing output taken from hours of print debugging. Not very easy to read, sorry.
Particle 136 has 14 neighbors.
lm (6, 0) SELF qlm (-0.0042036,0)
lm (6, 0) n 2408 qlm (-0.202819,0) weight 0.0905396
lm (6, 0) n 2009 qlm (-0.0478929,0) weight 0.0464807
lm (6, 0) n 2298 qlm (-0.200785,0) weight 0.000170854
lm (6, 0) n 2532 qlm (-0.145161,0) weight 7.83829e-09
lm (6, 0) n 182 qlm (-0.0890809,0) weight 0.0964913
lm (6, 0) n 1936 qlm (-0.245068,0) weight 0.112678
lm (6, 0) n 2038 qlm (-0.122834,0) weight 0.0642128
lm (6, 0) n 364 qlm (-0.0757628,0) weight 0.0921617
lm (6, 0) n 781 qlm (-0.186143,0) weight 0.0957721
lm (6, 0) n 2074 qlm (-0.207613,0) weight 0.0307045
lm (6, 0) n 2040 qlm (0.00178278,0) weight 0.0919968
lm (6, 0) n 2043 qlm (-0.118574,0) weight 0.0891164
lm (6, 0) n 2904 qlm (0.00736233,0) weight 0.10411
lm (6, 0) n 1883 qlm (0.057154,0) weight 0.0855653
Particle 136 has q_{6,0} ave (-1.57964,0) before dividing by the neighbor count
Particle 136 has q_{6,0} ave (-0.105309,0)
---------------------------------------------------
Best,
Bradley