Andriy,
I see your question as a very valid point. And, the answer is No.
You can put both service definitions in the same file and in the same repo. That's perfectly fine. Also, the AsyncAPI specification has no governance over that.
Initially that'll work out. However, as time goes by, these services will be maintained by two teams, probably not even from the same organisation. In that case, having separate service definitions give them the autonomy and isolation to experiment locally, but re-use the same things.
Breaking up the service interfaces into independently managed units can be helpful at that point.
But it is not a mandatory action in the beginning.
Thanks for reading!