I know this question is 2 years old, but still, if anyone else gets the same problem (and since the wiki says almost nothing about it), hopefully this will be helpful.
The reason is obstructions. When sending a wireless message, OC checks a random line in a 3x3 tunnel between the source and destination. It then takes a few (inverse root of the gap) random coordinates inside that line and checks if there's a block there, summing their hardness. Then it spreads that hardness evenly across the entire distance, sums it, and subtracts that sum from the signal's strength.
For example, say