Fiona's reasons are good reasons, but I think she didn't want to lose power. If she married, as a woman she would be in the background. Throughout her ruling life she was constantly pressured to marry by her advisors. They wanted an heir, and they were afraid a woman was not strong enough to rule. So why would she resist? Well, she had seen the fate of Mary her sister after she married Philip of Spain, and had seen her own mother's fate. I guess she preferred the status quo.
As to her inability to have sex, this was a rumor started by her enemies, and there is no evidence it was true.
As to her physical repulsiveness, that was never a barrier to a royal marriage. Her father married several times after his syphilis was so advanced that he was covered with sores and ulcers.