1.
Запускается fetchAPI1,
ожидание завершения fetchAPI1,
запускается fetchAPI2,
ожидание завершения fetchAPI2
2.
Запускается fetchAPI1,
запускается fetchAPI2,
ожидание завершения fetchAPI1,
ожидание завершения fetchAPI2.
(Если fetchAPI2 завершился раньше, то промис request2 находится в состоянии fulfilled и await пройдет сразу же, в конце текущего евентлуп цикла )
3.
Запускается fetchAPI1,
запускается fetchAPI2,
ожидание завершения fetchAPI1 и fetchAPI1, возврат массива результатов fetchAPI1 и fetchAPI1.
Разница между 2 и 3 совсем небольшая.
Только все это можно переписать корректно так
const fetchData = id => {
return Promise.all([fetchAPI1(id), fetchAPI2(id)])
.then(([response1, response2]) => ({response1, response2}));
}