I can’t speak for the original rationale, but here’s mine, and it would actually extend to lower accuracy “real” guns.
Your gun has a certain accuracy, typically expressed in MOA, or minute of arc/minute of angle, which means when fired, the avarage shot follows a path that number of minutes of angle wide, since it’s a radial measure, it’s a cone that extends out from the gun.
When firing the gun, you impose your own degree of inaccuracy based on departing from the “ideal” handling of the gun, we also express this in MOA.
If the inaccuracy from the gun is greater than (or actually similar in magnitude to) the inaccuracy YOU contribute, there’s no way to tell if a missed (or hit) shot is due to your actions or due to the gun, therefore there’s no feedback for you to use to correct your shots, you won’t be able to learn anything, except at a very low level, where sheer familiarity with the gun is a major source of improvement.
In real firearm practice, you fire many times, focusing on consistency, and analyse the group to see what you’re doing wrong, because the KIND of inaccuraccy a person intoroduces into the process is different from the kind if inaccuracy the gun produces. Then you can correct and practice doing it right, analyse your new grouping, and tackle the next problem. You can’t do this in the field, because you can’t analize the targets, generally they fall over when you shoot them.
BB guns are pretty ridiculously inaccurate compared to real guns, so they have a simple override that just says you can’t exceed lvl 1 in the relevant skills by practicing with them.
I’ve been considering having the gun firing code compare the gun/ammo/mods dispersion to the skill dispersion of the shooter, and using that to scale how much practice is happening, so more accurate guns give you better feedback and accelerate learning. At the same time, as I’ve outlined before, I’d add long-term practice actions you can perform to try and make the most of your resources to improve your skills, rather than just throwing yourself at the zombies over and over.