I've read three definitions which seems to point to the same idea. I've read about epimorphic functions in Mazzola's Comprehensive Mathematics for Computer Scientists - in this book, he treats it as if they were surjective functions. I guess that this idea is employed in category theory (with more generality, I guess). In functions, it seems that the idea is about relations of sets, in category theory, these ideas seems to be employed in objects different of sets. Is that correct?
Today I was reading Boolos' Logic and Computability, they mention the total functions, which by definition seems also to be the same of surjectivity. But I guess it may be used in some general way for the purposes of computer science, I'm still not sure about it. I've seen it on an exercise in the book (see below) and they use both terms: total function and surjectivity - This confuses me a little, presuming they are the same, why use both names Can you show me what are the differences of these three?

"Surjective" and "epimorphic" have the same meaning. They specifically mean that every element of the range occurs as the image under $f$ of some domain element.
Neither of those has anything to do with "total". The term "total function" means exactly the same thing as "function". The term "total function" is used to imply a contrast with "partial function". A partial function may not be a function in the classical sense, because it may not be defined for all "domain" elements. It is "total" if and only if it is defined for all "domain" elements.