This is completely meaningless, how full are the confidence and steadiness bars in the firing menu? Confidence is your evaluation of your chance to hit, Steadiness is how well you’re aiming for you. If Steadiness is full, that’s as well as you can aim with that weapon and your skills/stats. Also an actual range would be good.
At max range for a M4A1 (36 squares), you’re only going to have about a 20% chance to hit. You’re going to reach about a 50% chance to hit at range 15 or so, 75% at 10, and (estimated) 100% chance of a hit at range 7.
As for the reason, this is one of the places where engine constraints mean we depart sharply from making things act as much as possible like they do IRL. If we gave guns the ability to hit reliably at their IRL effective ranges, not only are most guns effectively the same (as long as you take time to aim and you know what you’re doing at all, you should be able to hit human-sized targets very reliably at max range for the game, which is 60 meters or so), but it would also make it very trivial to take out any opponents as long as you had sufficient ammo and a strong enough rifle to inflict significant damage with each hit.
I have some ideas for extending the effective range at which you can interact with creatures (and vice versa), but it’s a pretty long term set of changes, so this is the state of the game for now.