Because your first two packages don’t have upper bound limits, you will get the latest releases for all versions of the package, even those that may contain breaking changes.
In your case, it looks like dbtvault had a release a couple of days ago which raised the version of dbt utils required: Release Version 0.9.1 · Datavault-UK/dbtvault · GitHub
You could solve this by setting an upper bound for your dbt vault installation, or by installing the latest version of dbt expectations which no longer depends on dbt utils at all.