Programmers either don’t understand that “nice to look at and use” is actually a really important aspect of an app/program, or it’s a lot harder to do that well than it seems from the outside. I really don’t know. When it’s just one person making the whole thing, it makes sense that they split their work where they can.
It could be both. I guess the former is widespread amongst Linux-based hobby coders who use a minimalist window manager or even a terminal multiplexer instead of a full-blown desktop environment. They don’t see the appeal in good UIs.
But they may also fall victim to the latter because they see good UIs so rarely that they simply don’t know what good UIs look like. That, and most hobby FLOSS coders are backend devs above all. Even if you assemble 20 hobby coders for a project, you may have to appoint one who’ll begrudgingly have to make a UI without actually knowing how.
At least, some Fediverse server applications can not only be themed, but you can replace the entire Web UI. And there are capable UI designers in the Fediverse, just not so many as capable full-stack devs. Granted, they may not be on the same level as frontend devs with Apple paychecks, but still.
For example, Pleroma and Akkoma have gotten to a point where, I guess, Pleroma-FE and Akkoma-FE only see so much use because not everybody has heard of stuff like Mangane yet. But people who have gotten a taste of Mangane usually don’t want to go back.
Friendica, Hubzilla, (streams) and Forte are so extensively themeable that a user-selectable theme is very close to an all-new frontend. In practice, Hubzilla’s themeability fell victim to the effort of keeping Hubzilla’s monstrous backend maintained, and so it’s down to one theme whose name is not the only hint at it being stuck in 2012. Well, enter people who make new third-party themes to stop Hubzilla being as unuseable as it’s being made out to be.