| 
		
			Сообщение от HuXT
			
		
	 | 
	| 
		Хотелось бы понять корень проблемы.
	 | 
	
Проблема в том, что вы не предотвращаете поведение формы по умолчанию.
Я, признаться, подобного метода объявления слушателей события (через html-атрибуты) уже давным-давно не видел и не помню как передать событие в слушатель. 
Но если предположить, что функция «proceedUploadedFile» корректно получает событие формы  в кач-ве аргумента, то вы можете попробовать сделать так:
<form class="form" action="#" id="form" onchange="proceedUploadedFile(event)" onSubmit="runBuildPDF(event)">
function runBuildPDF(event) {
  event.preventDefault()
  spinner.classList.add('spinner_shown');
  button.classList.remove('download_shown');
  setTimeout(() => {
    buildPdf()
  }, 10);
}
Почему у вас форма отправляется только первый раз - непонятно, без кода сложно сказать.