Why was Bali Raja considered a demon? Please explain in detail and provide a link to the scriptural reference if any.
Most of the races are named after wives of Kaśyapa. For example,
- Descendants of Aditi: Adityas (Devas)
- Descendants of Danu: Danavas
- Descendants of Diti: Daityas
Origin of Rakshasas is different which is described here.
Though Danavas, Daityas and Rakshasas are used interchangeably or collectively (as demon or asura) but they are different.
As per Śrīmad-Bhāgavatam (Bhāgavata Purāṇa) » Skandha 6: CHAPTER EIGHTEEN, Bali Mahārāja was born in Diti's line:
Diti > Hiraṇyakaśipu > Prahlāda > Virocana > Bali Mahārāja
That's why he is referred as Daitya.