Modern programming is. But look at assembly, which is what actual machines do. And you can write assembly with tons of gotos and not a single function in sight.
https://dspace.mit.edu/handle/1721.1/5753
The point is there's a closer connection between functions and gotos than you might imagine.
This is roughly the point Steele is making, in addition to his point that the stack pointer side effects are often unnecessary (i.e. tail jumps).
Implementing a stack pointer in hardware is merely a legacy hack: Before people figured out continuations they didn't know any better.
That's like saying "There's really no such thing as a 'chair' at the quantum level."