User Created Accordion With Fields?
The best way I have found to do this was to use Paragraphs. You can create an Accordion paragraph type, and an Accordion Item paragraph type. The Accordion holds Accordion Items. The Accordion Item has 2 fields, Title, and Body. 

This allows a user to add an Accordion paragraph to a node, then add as many Accordion Items as they want (and be able to sort them in the form). From there, the theming/js is up to you via templates and js, but that part is fairly easy.

Since Paragraphs are based on fields, it's intuitive for the editor who use used to the node edit interface.