The weird thing is in .960 the bug wasn't there, and the dialog is almost exactly the same. The only difference is the way it checks for the claimant's kingdom. It checks a slot instead of a previously set variable like it did in .960. Maybe the slot is bugged? Heres a way to change it back to the way it worked in .960, in case that is the problem:
Go into conversation.txt and find the dialog:
dlga_event_triggered:rebel_thanks_answer 4095 5 4 31 2 144115188075856039 15 520 3 1224979098644774912 144115188075855885 14 2335 2 3 1224979098644774912 2320 2 6 1585267068834415044 {s6} 123 1 1 2 936748722493063430 504403158265495591
Change this to:
dlga_event_triggered:rebel_thanks_answer 4095 5 3 31 2 144115188075856039 15 2335 2 3 144115188075855948 2320 2 6 1585267068834415044 {s6} 123 1 1 2 936748722493063430 504403158265495591
Things removed are in red, changes are in blue.
This makes the dialog about the same as it was in .960. I don't currently have a save with a rebellion ending to test this in, but if you still have the save you can give it a try.
The only other difference between this and the .960 dialog is the .960 dialog sets a thing that I don't think is used anymore, and that shouldn't cause a NO_STRING. Hopefully this works, because if it doesn't fix it I'm stumped.