If you drew the same figure in Metapost, (defining the projection from two different directions in the same way as you did in TikZ), you would also find that the points are not identical. However the error is much smaller - typically less than 0.01 mm, which is usually too small to be noticed.

prologues := 3;
outputtemplate := "%j%c.eps";
beginfig(1);
u := 1cm;
pair A, B, C, E, F;
A = (0,10u);
B = (12u,9u);
C = (10u,4u);
% define F back-to-front...
E = whatever[A,C]; B-E = whatever * (A-C) rotated 90;
F = whatever[C,A]; B-F = whatever * (A-C) rotated 90;
show E, F, abs(E-F);
draw A--B--C--cycle;
draw B--E withcolor blue;
draw B--F withcolor red;
label.top("A", A);
label.top("B", B);
label.bot("C", C);
label.llft("E", E) withcolor red;
label.lrt ("F", F) withcolor blue;
endfig;
end.
With the default number system the show command produces this:
>> (262.62154,125.88998)
>> (262.6223,125.89125)
>> 0.00148
So E does not equal F but it's pretty close. The units are points 72 = 1in, so
the distance is 0.00148 points, which is about 0.5 µm, which is pretty hard to see.
If you use -numbersystem=double you get:
>> (262.62152205882353,125.89158676470589)
>> (262.62152205882353,125.89158676470583)
>> 5.6843418860808015e-14
which is rather closer but still not exactly the same. But with -numbersystem=decimal you get:
>> (262.6215220588235294117647058823529,125.8915867647058823529411764705883)
>> (262.6215220588235294117647058823529,125.8915867647058823529411764705883)
>> 0
In all three cases the output looks exactly the same to me.