Twelve children were among the dead, including twin boys, aged four.
Only four men and three women survived the disaster, which happened on a motorway south-west of the Bulgarian capital, Sofia, early on Tuesday.
The scale of the loss has caused shock and grief in Bulgaria and North Macedonia, where three days of national mourning have been declared.
Macedonian Prime Minister Zoran Zaev described the crash as “horrifying”.
“I met the injured in a hospital in Bulgaria. My heart broke when I was hearing the cry of a father who lost [his] child,” Mr Zaev told the BBC.
The PM said he had spoken to one of the survivors, who told him that passengers were asleep when the sound of an explosion woke them.
Mr Zaev told they succeeded in breaking one of the windows and saved a few people. Unfortunately, the rest did not succeed.