In practice, computers and many programming languages are considered Turing complete because arbitrary (yet finite, obviously) amounts of memory can be added if needed. Eg. Java is considered Turing complete even if no JVM instance will ever be able to have access to infinite memory.
Theoretically, you are right. But does strict Turing completeness matter, in practice? I don't have the required knowledge to counter-argument your last point.