Весь код пропитан innerHTML. Проблема действительно в том, что formInit() применяется для вновь создаваемого блока через innerHTML. Пара вариантов имеется.
Для работы событий через всплытие нужно привязывать обработчики на popup-окно, например:
$( '#popup' ).on( 'click', '.plus', function() {
// здесь я не помню, куда будет указывать this
} );
И для привязки данных с разных полей нужно их выбирать через контекст popup-окна.
https://codepen.io/anon/pen/jZpVXB?editors=1010
Тут пересчёт суммы придется вызывать при открытии окна, для этого нужно перекроить код ещё немного.
По-другому если, то нужно перемещать саму форму из скрытого блока, функцией append(). Но тогда функция инициализации для форм должна будет предварительно разделить кнопочки и поля ввода-вывода по группам, чтобы "плюс"-кнопка одной формы не наращивала значение всех сумм в формах. Тут можно применить цикличное применение некой единичной инициализации одной формы или в обработчиках событий определять "родительскую" форму кнопок и полей.