Important distinction: the notebooks themselves don't do this. The notebook authors, by convention, are supposed to do this.
This is no different than engineers who are, by convention, supposed to write bug-free code. Even with this convention, however, devs still rely on testing to decrease the likelihood of bugs.
No similar tooling exists for notebooks, which is why I recommend moving re-used logic into a tested codebase.
In all my years of work with Notebooks, I've never had an issue with downstream dependencies.