Hi there!
First thing, I believe you may not using the latest version, which is the 2.1.6. Try confirming that to me.
Now, by your error log, it seems the problem is at this function:
Sprite_Picture.prototype.canSelectChoice = function(){
return $gameMessage.isChoice() && this.picture().hasChoice()
}
Specifically on the "this.picture().hasChoice()"
The code "this.picture()" is returning null, while it should be returning a Game_Picture object. Therefore, since it is null, the ".hasChoice()" is not working, and causing the error.
This is the ".picture" function. It should return a Game_Picture object according to the picture id (this._pictureId)
Sprite_Picture.prototype.picture = function() {
return $gameScreen.picture(this._pictureId)
}
If this is returning null, means that does not exist any Game Picture with that picture ID.
-------------------
SO, I believe some of your templates may have pictures attached to choices. Either it does have less pictures than choices or more pictures then choices. Like, if you have 3 pictures on a template, you must have 3 choices on the event command. Otherwise, it will throw an error.

I think, by the error, that you have more pictures than choices. But, if you can confirm that you did not have any pictures set on your templates/plugin commands. You can try replace the Sprite_Picture.prototype.canSelectChoice on the plugin code, with this code below:
Sprite_Picture.prototype.canSelectChoice = function(){
return this.picture() ? $gameMessage.isChoice() && this.picture().hasChoice() : false
}
-------------------------------------------------------------
Also, another observation is. I think you are nesting choices inside one another.

The second Show Choices, after the Text command, does not have any template added to it. The plugin command only applies the template to the first choice. I guess you may also try to add the plugin command again before the nested choice to see if that can fix things.
--------------------------
Let me know the results!






