Smart contracts are still contracts, just a different kind than the typical legal contracts. "Contract" has been used to describe API interfaces. Words can have more than one meaning. "Contract" is also a verb, with multiple meanings.
I interpret "contract" like a contract between two software components. e.g. This is the schema of what our endpoint returns. You can work off of that.