This has more to do with how computers work than with p-values. You have to remember that computers can't represent real numbers exactly. We are dealing with floating point numbers. So some algorithms will never get exactly zero, even if analytically the result should be zero. For example (0.3-0.2) - (0.2-0.1)
will not give you zero.
You can see that most of yourthe estimates are essentialyessentially zero:
all.equal(-3.348e-15, 0)
TRUE
all.equal(-9.377e-16, 0)
TRUE
The same goes for your standard errors: they are zero.