There are two things that might have actually happened there.
First I'd like to assure you that, to my knowledge, no randomness is used to calculate the blade reach value. It is always constant code-wise. I might be wrong, but I will trust my experience and intuition here.
Now, as I mentioned before, two things. Interpolation and, after looking at your lagometer, your ping. The latter possibly being the main reason.
Interpolation is an, um, algorithm used by client to make every move appear smoother. If something (like you, for example, or any other player) is moving in one direction (info received from the server), it's more likely to keep moving in this direction rather than not.
Why? Well, for example, you hold W for one second. You often do that. Say, you have max_fps of 60. Then 60 frames of 61 you will be holding W, and only on the 61th (the next second) you're going to release it. In 60/61 cases you moved forward and only in 1/61 case you didn't. How often would you mash keys more often than once per 500ms? Very rarely, thus interpolation is a calculated risk for the sake of smoothness, more than 50% that you will keep moving in the same direction most of the time. More than 85% I'd even say.
To make things look nicer and smoother, the client actually predicts your future frame position by calculating the difference between your positions in two last frames. Thus it makes you feel like you're farther from the enemy than what you actually are on the server. Each frame. By a tiiiiiiny bit, if your ping is OK.
And here's where ping kicks in. Big ping means slower rate at which the client and the server exchange info. Client gets info not as often as with the low ping - > client gets less info -> the distance between two last positions of your entity on the server (as client thinks) is increased -> the farther your client interpolates (predicts) your position. Vice-versa - server doesn't get the movement cmds from the client as often as from a player with the lower ping and thus you might actually "stutter" on the server and occasionally stop. It will never be shown in the client-side due to interpolation though.
Also you can be pretty sure (I guess?) that that guy had the same picture as you did - his saber killed you from 1.5 reach distance just due to the fact that your clients use the same interpolation method. Well, unless you were using different engines. But again, it's purely a visual thing. His client thought you were farther too, while you actually weren't. The only true thing is always on the server and your client just keeps lying to you each frame. Live with it.
Ever noticed how with high ping you keep getting moved back to a "few-frames-before" position? This is where the client corrects its wrong interpolation/prediction. You might want to try out /cl_timenudge -30 (default 0) to see how the game would look like without client interpolation, although I'm not sure if this command is technically getting rid of it.
Again, I might be wrong and I'd like someone who is more experienced and interested in the nature of such occasions to roll in.
Aye, I'm a nerd.