They're trying to be compliant to the interface of the original, not the implementation. Now whether the interface itself can be copyrighted ... the SCOTUS will weigh in on that soon (https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_...)
Rust coreutils replacing GNU coreutils in these programs by implementing the same interface is the same issue.
I’m not sure if it’s possible to spell it out clearer than this.