Daenerys is certainly not perfect, but Cersei is way worse than her. There are plenty more reasons, plus the ones desa said, but this by itself is enough: which one of them put aside her bid for the Iron Throne for the sake of the greater good, to fight the White Walkers and save the people living in the kingdom…and which one said she'd join the fight, only to back out and make it clear that she doesn't give a shit about what happens to anybody but herself? Yeah.
And honestly, while there have definitely been decisions Dany made that have been unjustified and not smart, her treatment of the Tarlys was not one of them. She didn't have the facilities to take prisoners. She didn't have any kind of authority to send them to the Wall because she's not currently the official ruler. She gave them the chance to kneel, and Randall refused. (And yeah, I think it's completely stupid that he betrayed Olenna–whom he knew since he was a boy--but decided to die as opposed to turning on Cersei.) If she didn't punish him for that accordingly, she would not be a strong ruler. She's touted as basically the next coming of Aegon the Conqueror, and Aegon was much the same: harsh to people who refused to submit to his rule (burning and all), but rewarded those who were loyal. And Aegon isn't remembered as a crazy tyrant for it; he's remembered as a firm but just ruler.
! And with Dickon, he insisted on dying with his (honestly piece-of-shit) dad even though Dany outright tried to convince him not to. Like, I can certainly understand Sam being upset about him dying–I mean, of course!--but it shouldn't be treated like Dickon was a completely innocent victim begging for his life that Dany cruelly, mercilessly murdered when that was his choice. Both Randall and Dickon clearly knew what the consequences were, and made their choices anyway.