Bulgarian media reports say the vehicle, which had been travelling as part of a convoy of buses, had stopped off at a petrol station near Sofia about an hour before the accident.
The victims have not yet been officially named, but officials said they included children, and young people aged between 20 and 30.
Macedonian TV channel Alsat released a list of names it said were passengers on the bus. Comments by Albania’s foreign minister indicate that most, if not all, the passengers were ethnic-Albanians from North Macedonia.
Earlier, Macedonian Prime Minister Zoran Zaev said he spoke to one of the survivors, who told him that passengers were sleeping when the sound of an explosion woke them.
“He and the other six survivors broke the windows of the bus and managed to escape and save themselves,” Mr Zaev told Bulgarian media.
He said the bus belonged to Besa Trans, a travel company that organises trips in Europe.
Within hours of the disaster, relatives of people who travelled to Turkey with Besa Trans last week gathered outside the firm’s office in Skopje, anxiously looking for information.
Bulgaria’s interim Prime Minister Stefan Yanev described the incident as “an enormous tragedy”.
“Let’s hope we learn lessons from this tragic incident and we can prevent such incidents in the future,” he told reporters as he visited the site of the crash.
The area around the site of Tuesday’s incident on the Struma motorway has now been sealed off. Footage from the scene shows the charred vehicle, gutted by the fire.
Investigative service chief Borislav Sarafov said “human error by the driver or a technical malfunction are the two initial versions for the accident”.