My guess is this problem would come from adding two editors that have the same ID= tag, it will work fine with only one editor since only one would be defined as 'dialogOpener'. When you're creating the editors, maybe try to give them unique names (i.e., if you're doing some iteration, use the iteration value and tack that onto the end of the ID assigned, so one would be dialogOpener1 and the other dialogOpener2, etc.).
The obvious answer, and I had thought that this was taken care off. The problem is order of operation. You need to assign the unique ID BEFORE you set DialogHandlerUrl (which I just added in order to make my dialogs work with routing in place).