Hi. The problem is obviously caused by the re-use of the ID numbers, since a simpleminded cut and paste of this code will duplicate them throughout the web page if you have multiple textareas which use the quilljs editor and you don't modify them for each textarea and its associated toolbar and editor. HTML ID numbers need to be unique within each web page.
However the problem is relatively easy to solve, and based on Josiah's code for calling quilljs I have implemented a drop-in replacement for tep_draw_textarea_field() which requires only including the new function at the beginning of any pages where you want to use it, and then changing any of the tep_draw_textarea_field() calls that you want to replace into tep_draw_jquill_field() calls. The parameter lists are the same, which simplifies the conversion, and if quilljs is not available it reverts to tep_draw_textarea_field(). Additionally I have added the code to allow images to be embedded in the rich text area (but you'll have to upload them separately and put a link to the image source since there is no upload support). It should be safe to use on both the admin and the customer side of the shop.
Even better, this should work with virtually any version of osCommerce that still uses the tep_* functions, so it isn't restricted to 2.3.
This looks like a great way to avoid all of the problems with the Htmlarea contributions, which apparently don't work on a lot of modern browsers (although I haven't tried them out).
I am putting all of this together into a contribution that I will add to Josiah's quilljs contribution thread.