Taking a quick look through the Monster Manual, it doesn't look like there's any functional difference.
The "Languages" heading in the Introduction (p. 9) says only:
The languages that a monster can speak are listed in alphabetical order. Sometimes a monster can understand a language but can't speak it, and this is
noted in its entry. A "-" indicates that a creature neither speaks nor understands any language.
Now let's look at some examples:
The Invisible Stalker:
Languages Auran, Understands Common but doesn't speak it
The Water Weird:
Languages understands Aquan but doesn't speak
The Hell Hound:
Languages understands Infernal but can't speak it
Languages understands the languages of its creator but can't speak
The Giant Owl:
Languages Giant Owl, understands Common, Elvish, and Sylvan but can't speak them
In the case of the Water Weird and the Homunculus, they list languages the monster can understand, but say they don't/can't speak in general, rather than don't/can't speak the language listed.
In the case of the Invisible Stalker and the Giant Owl, they list languages the monster can speak and understand, as well as languages they can understand but specifically don't/can't speak.
In the case of the Hell Hound it list only one language, which it can understand but which it specifically can't speak. Since no other language is listed, it wouldn't be able to speak any other language, either.
Since the rules don't really clarify either way, in my opinion you would be valid in interpreting "doesn't speak" either way, but functionally it shouldn't make a difference unless the monster is being forced to speak somehow (such as via the Suggestion spell), in which case the DM would have to decide how to interpret.
When speaking English in everyday use, "doesn't speak" is often synonymous with "can't speak" when talking about fluency in languages. For example, I can listen to people speaking Italian or read Italian text and understand the meaning, but I can't speak the language myself, so I might use "I can't speak Italian" or "I don't speak Italian" interchangeably. Therefore, I, personally, would interpret "doesn't speak" to be equivalent to "can't speak".