The reason True Love’s kiss isn’t working for The Charmings is because they aren’t in love, yet. Not in the real world. I mean David is waffling between the two of them (and I’m not saying you can’t have true love between 3 people, but I’m saying their dynamic does not support this), and Mary Margaretcan’t completely fall in love because every time she’s about to she recalls he’s already married.
There is something in them telling them they could be in true love, but right now they’re not, which is why the kiss doesn’t work.
Once Upon A Time (2011)