I would suggest swapping that order around: roll the die, then choose a miracle. It's subtle, but the die result should inform what you do, as opposed to the other way around.
You're correct, rules as written, the Population reaching 0 should always be a voluntary event here. But I do have a suggestion: when you roll anything that says "Sacrifice" (so like a 2-12) that's a bad thing happening, right? So that's where you can create the fall in population, or various other negative outcomes. Sacrifice means something bad has to happen, and there's only a certain amount of systems to interact with in the game (Population, Heroes, Floor, Landmarks, and Testaments). I usually defaulted to decreasing population on a Sacrifice because it's an easy consequence, and the kinda only way to actually fail with population. The reason that's not in the rules is because you could just fail turn one and lose. I wanted you to be able to build a bit of a buffer before the failures really start to pile on late.
As for the boring part, sure lol! Design philosophy wise, I always like the definition of a game from Bernard Suits: "a game is the voluntary attempt to overcome unnecessary obstacles." So like, everything in this game is entirely unnecessary to interact with outside of the Floor eventually reaching 20 from rolling failures :) That's really the only part of this that's a game, otherwise I'd say it's a 90/10 split on story-making to game, and that's not for everyone! I appreciate the feedback!