> Is there some significant difference between assignment expressions and assignment statements that makes it worth having distinct syntax?
Given that Python is statement-oriented, yes, having statements visually distinct from similar expressions is important.
It's also important to avoid making the equality operator and the assignment operator visually similar or easy to typo one for the other, which is arguably the bigger need for “:=” vs “=”, since “=” and “==” are quite similar and easy to accidentally mistype for each other.