Personally, I think it’s fine to say that X speaks Matrix if X speaks the Server-Server API, like Rocket.Chat or Gitter does.
I think the distinction the grandparent post is making is that RC doesn’t speak the Client-Server API, so you can’t point a random Matrix client at it. Honestly, I think it matters more that you can talk to it transparently via the Matrix network than connect your favourite Matrix client to it.
Well, you can't simply use Rocket.Chat to join a Matrix server. You need to join a Rocket.Chat server set up to communicate with Matrix and work from there. Neither can you use a Matrix client to join a Rocket.Chat instance.
I think the distinction the grandparent post is making is that RC doesn’t speak the Client-Server API, so you can’t point a random Matrix client at it. Honestly, I think it matters more that you can talk to it transparently via the Matrix network than connect your favourite Matrix client to it.