To most of us there is no difference between Serbian and Croatian. Locals call their language whatever they like, whether it is Serbian, Croatian, Bosnian or Montenegrin. He being a Serb calls his language Serbian which is not like Serbian in Serbia but like Croatian, but since he is not a Croat he calls his language Serbian. And he is a Serb because he is Orthodox while Croats are Catholics. In the same ways Bosnians are Muslims, but not all Bosnians, like my uncle who is also a Bosnian and speaks a language called Serbian because he is Orthodox, even though internationally name Bosnian language is reserved only for Muslim Bosnians which they call the Bosniak language to make difference from other Bosnians, that is Orthodox Serbs and Catholic Croats. Montenegrins on the other hand are Orthodox but their difference from Serbs is that their are traditionally a tribal and clan society so you can speak of a Montenegrin language only as a language of the Montenegrins who belong or belonged in recent past to a certain clan.
During the period of Yugoslavia there was only one language, Serbo-Croatian as the Serbs called it and Croato-Serbian as the Croats called it. In the 19th century it was also called Illyrian by traditionalists. Today sometimes it is called Neo-Štokavian by linguists.http://en.wikipedia.org/wiki/Serbo-croatian
(I do suggest you read the entire article)
So when I say: "I speak Serbian" it also means I speak Croatian, Bosnian and Montenegrin as well for there is little difference between them, much like between American and British English. The only reason because these languages are called differently is because of nationalistic and religious reasons. Linguists simply treat them as dialects of one language. If you are an ordinary person you call this language by your ethnic affiliation or if you are a non-native like me you call it by preference, but never say the wrong name of the language in front of the people to whom it is native. God forbid you say to a Croat he is speaking Serbian or to a Serb he is speaking Croatian. Stick to the nationalistic labelling if you don't want to get into trouble, unless they start the discussion, in which case you may state your opinion. But usually, as a Slovak hence an outsider I leave them to argue on their own.