Потому что в episode-details.js функция render определена как "анинхронная"
export async function render(data) {
То есть, вы ждете асинхронный "import", который возвращает "асинхронную функцию".
Добавьте функцию render также в цепочку промиса
function renderPage(moduleName, apiUrl, css){
Promise.all([moduleName, apiUrl, css].map(src => loadResource(src)))
.then(([pageModule, data]) => {
return pageModule.render(data);
})
.then((result) => {
appContainer.innerHTML = '';
appContainer.append(result);
});
}