For some reason, Dany's reproductive capabilities seemed to be at the forefront of the penultimate episode of Season 7. Tyrion urged the Mother of Dragons to think about her line of succession, and Dany revealed to Jon that since she can't have children of her own, her dragons are her children (RIP Viserion). But why can't Danaerys have kids on Game of Thrones?
Dany's belief that she's infertile stems all the way back to Season 1. She was pregnant by Khal Drogo, and everyone was pretty thrilled about it. But Drogo became injured, and then fell gravely ill. Dany requested the help of Mirri Maz Duur, a woman who performs blood magic, to save the Khal from death.
Unfortunately, this magic came with the ultimate sacrifice. Not only was Drogo left in a catatonic state, technically alive but not really there, but Khaleesi lost her baby as a result of the process. Mirri Maz Duur told Dany afterwards that she would forever be barren. Her punishment? Being burned alive on Drogo's funeral pyre. That's what you get for messing with The Unburnt.
Khaleesi became The Mother of Dragons in part because she brought the dragon eggs into that pyre, causing them to hatch, but also because the dragons have become the substitute for any real children that she might otherwise have been able to bear. And when she shared this reality with Jon Snow, she asked, "Do you understand?" — a statement that seems to ensure that the King in the North realized that she will be an heirless queen, but also perhaps served as a warning.
Jorah made a big show of handing Longclaw back to Jon for his future children to inherit— perhaps Khaleesi is subtly warning Jon that a romantic future with her is doomed to be childless.
Yet, regardless of what Dany believes to be true, the Game of Thrones writers sure love to surprise fans with twists and turns we could never have predicted. Perhaps Dany isn't cursed to be childless after all, and only believes it to be so. The Mother of Dragons might be a human mother yet — and maybe with her own nephew.