Good concept, needs better execution
This game reminds me of Majesty, "the fantasy kingdom simulator". I wouldn't worry about the low art quotient, since that allows you to focus more on coding, debugging and balancing. A few piece of still art in the right places could jazz things up a bit, perhaps some quest failure and victory art.
I think in a game like this, the player is expected experiment with different combinations for solving the quests. This is a puzzle game in a simulation format. To that end you could make it easier for the player to recognize what options are available at any given time, by color-coding choices by whether you meet some or all of their requirements.
You could also make the process of going on quests more convenient. Allowing for multiple ongoing quests with your different heroes would alleviate that frustrating period of waiting for a quest to complete, when you cannot attempt another quest. Pay attention to the interface choices a player needs to make to send a new quest, to identify areas where the process could be simplified. The quest load-out screen in particular needs work, since so many player decisions are made through and accessed through this screen. I wish I could return to this screen from the city management screens without losing choices I'd made, or that all of my choices could be represented here, eliminating the need to open the side screens to check the status of tools or military units.
From my playthrough tonight, I imagine you intended for different types or units to work better or worse together, or to be essential or disastrous on certain quests - that's why I think of this is a puzzle game. But in most quests I took, I sent every unit I had.. mostly because I didn't get far enough to have lots of units of different kinds, but also because there was nothing discouraging me at the load-out stage. If the game encouraged you not to take everyone on every quest, then the player would be more likely to see different responses from quest results. By either constraining or rewarding the player to limit their load-outs, you could encourage them to experiment, which I'd expect would be more satisfying.
I appreciate that you've tried to make choosing your heroes a profound choice, since you cannot simply drop one you don't like without restarting your game. But considering that new players don't have the experience to judge these choices well, perhaps you provide for an opportunity to drop/add heroes at periodic moments only? I remember Railroad Tycoon II you could choose different characters as your company president, but only when you received your annual report. Since you have four heroes, perhaps you could pick up one new hero at the start of a new season. You might even divide up the heroes into seasonal groups, so you could only pick up Cinnikat in spring or the demon lord in winter, for example.
Given your game's focus on characters and text, I'd also recommend you build on those strengths. You could write comments and interjections for them to say at different occasions, commenting on your decisions, the other heroes, or the outcomes of quests.
I understand you started this as a fun programming project for yourself, but I imagine you've got a start here on something really special. I hope that my suggestions might be useful.