In which categories are epimorphisms equivalent to surjections? For example, in the category of sets a morphism is an epimorphism iff it is surjective. This is true in the category of groups with homomorphisms, the category of topological spaces with continuous functions. However this is not true in the category of monoids, rings, etc. (For more examples see https://en.wikipedia.org/wiki/Epimorphism#Examples)

Is there a classification of categories where the two are equivalent? Or are there some properties of categories where they're equivalent? Obviously we must be working in a concrete category to talk about "surjective". But is there anything else we can say about the category?
If you want to talk about "surjection" your category must have a functor $C \stackrel{U}{\to} \text{Set}$ that specifies the underling set of every object.

You question can be reformulated as follows: when does $U$ reflect epimorphisms?

I do not know when such a characterization exists, but if $U$ is faithful, then it reflects epimorphisms.

I do believe that all the cases you can think of are due to this phenomenon, the forgetful functor in those cases is faithful.
If you want to talk about "surjection" your category must have a functor $C \stackrel{U}{\to} \text{Set}$ that specifies the underling set of every object.

You question can be reformulated as follows: when does $U$ reflect epimorphisms?

I do not know when such a characterization exists, but if $U$ is faithful, then it reflects epimorphisms.

I do believe that all the cases you can think of are due to this phenomenon, the forgetful functor in those cases is faithful.