For some reason, "animalo" is not accepted in place of "besto." A puppy is indeed a "besto", but it is more generally an "animalo." "Besto" seems to not be used for birds, fish, etc. in Esperanto, reflecting the view in many parts of the world that they are not "animals." Many cultures don't consider their flesh as "meat." Travel is often tough for vegetarians due to this misunderstanding. "Animalo" is the broadest term for all animals.
In fact, besto is "non-human animal" while animalo is "member of the animal kingdom." Besto is the right word for this sentence.
Yes. You are right. I think "besto" is a "beast", and "animalo" must be the common translation for "animal".
Why are "puppy's" incorrect as translation? Is there a difference between pups and puppy's?
"Puppy's" is a possessive. "I picked up the puppy's toys." "Hundido is singular, not plural or possessive. It means "A puppy."
Again, on the translation exercise it said "pups" instead of puppies. That may be technically correct if you're a dictionary, but I think "pup" is close to slang.