A thousand people really isn't all so many, right? I'm googling this super quick, but like I'm reading in countries like the US, UK, and Canada we have about 2-ish doctors per thousand people, so really how big of medical staff are you going to put on your starship? It's not like a real floating city with tens of thousands of people, right? I feel it really makes sense people would have extra specialties and everything?
This is true, but I'm thinking more for mission rather than as a doctor of a small town. I doubt if there are more than three doctors aboard the Enterprise at any given time, but they probably have a good sized nursing staff for missions involving medical emergencies. I wouldn't right away think that any of them are vets. I'd wager there is a dentist on board as well that is all together separate from the sickbay staff. If I presume that there was a department within the science division that specialized (or at least have officers that specialize) in the study of animals (for missions), I would go on to assume that one of those officers has working veterinary knowledge. That seems more plausible (to me) than the chief medical officer having to be the ships vet as well.
But I guess when it comes to Spot, Crusher was probably using basic medical knowledge (I mean, she treats aliens, after all) and was just wanting to help out her buddy Data.