It is unclear if either man is aware about the other one. If pros and cons did not work, you could let each other know about the other man and whoever is more forgiving could be an indicator of which person is more flexible.
If you are uncertain about choosing between the two of them perhaps you have reasons for this and neither is truly to your satisfaction. People will always have flaws and you ought to follow your heart at times. There is never the ideal partner out there (just our desire for such and idealization of someone who had recently come in your life)
Maybe you need more time to see what each person is truly like. In the beginning of each relationship everyone is in a honey moon stage.
Try to see with which person you would feel more secure in the long term.
It seems you have at least been able to know a side of D you did not suspect before.
If you are struggling with choosing between the two, what is to say that in the future you will not meet someone else who becomes of a romantic interest to you?
Soul searching is going to happen on a deep level and perhaps give yourself some time, monitor your dreams for subconscious messages and do not rush into anything. Things happen for a reason and there is no 100% proofed way to know what is to happen.
It seems that you have made an extensive inventory of each person and other factors.
Once again, soul searching is what is needed. When someone is truly in love, they are committed to that other person. If you have found yourself between two individuals, try to examine the causes that may have caused this as no one else could provide you with an answer not should they of which person to chose as a partner (since that would be unethical suggestion)