Hell @Masoom Shah !
Welcome to Microsoft QnA!
You can either create a separate Tenant ( Directory ) or if this fits the needs you can add all domains into a single Tenant and achieve the statement , everyone will have its own domain
In case of a single one the Management is easier and microsoft 365 offers Infomation Barriers and Scopes to practically separate the different Users
So you just find a Microsoft License that you need and start by adding the domains as shown .
You follow the Wizard and it is quite easy just add the DNS records you will be shown
https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-whatis
https://learn.microsoft.com/en-us/microsoft-365/admin/setup/add-domain?view=o365-worldwide
https://www.microsoft.com/en-us/microsoft-365/enterprise/compare-office-365-plans
The other option would be to create a different Tenant for each Company , but i dont think this fits your needs
I hope this helps!
Kindly mark the answer as Accepted and Upvote in case it helped!
Regards