Solution 1:

Synonyms aren't only words that mean the exact same thing. They may be words that mean approximately the same thing. Moreover, many do call their adult dogs their "puppy," just like many call other adults their "baby." Just as "baby" can refer to an adult person, so also can "puppy" refer to an adult dog.

Also, you should note that the entry doesn't cite those words as "synonyms." Rather, it says they come from a thesaurus. A thesaurus provides words of similar meaning whose closeness in exact meaning tend to decrease as one moves down a list. If thesauruses only provided words that meant EXACTLY the same thing, they wouldn't be very helpful as we often use them to try to home in on a better word, one that more exactly says what we mean to say.

Solution 2:

Because it's useful to list them as such.

Puppy is a hyponym of dog (a different hyponym in early-modern and contemporary use), not a perfect synonym, but then you already know a perfect word to use when dog matches precisely; dog.

A thesaurus is useful precisely because it will be a bit "fuzzy" in the synonyms it lists, and so has a chance of providing a better word for your purposes than the one you looked up. Hyponyms and hypernyms are both candidates for this.

Solution 3:

If you are asking why the term puppy is used to refer to a small, young dog, the answer is in its etymology, probably from French "puppet" (toy):

  • late 15c., "woman's small pet dog," of uncertain origin but likely from Middle French poupée "doll, toy" (see puppet) . Meaning shifted from "toy dog" to "young dog" (1590s), replacing Middle English whelp. In early use in English puppet and puppy were not always distinct from each other. Also used about that time in sense of "vain young man." Puppy-dog first attested 1590s (in Shakespeare, puppi-dogges). (Etymonline)

enter image description here A puppy.

Solution 4:

Every puppy is a dog. Some dogs (but not all) are puppies.

The same way every woman is a human. Some (but not all) humans are women.

So puppy might be a synonym to a dog (not in all cases, though).

I got a new dog today. It's so cute!

If and only if said dog is young, one might rephrase:

I got a new puppy today. It's so cute!