I think that "modder" is more specific than "developer". "Programmer" is also specific. It's true that "developer" sounds more professional and kind of commercial, even though it doesn't have to. I personally prefer to be called a "programmer" or a "coder" when I write programs. It makes me feel that I have nothing to do with the Microsoft/Google world, ha, ha (compared to "developer"), but if I create something that's not a program, then I have no choice but to accept another tag. A "modder" is somebody that makes derivative works from other people's software, usually non-programs. If you create a new car, you're not doing programming, but also not sure if you're "modding", since you're working from scratch. Maybe "(software) creators" could be considered too, although it sounds a little dramatic, ha, ha.
About "hacker", I think this is a person that solves puzzles and finds the way to tame somebody else's code. It doesn't have to be illegal and in fact, I think it's a little "microsofty" to assume it is, since MS is always promoting that view in an intent to convince people to only use their software. But of course, there are evil hackers, just like there are evil programmers and evil whatever. Anyway, hackers are not creators, they're puzzle solvers, so the word wouldn't apply to people that develop something new, I think.