>> BGP will be an idea solution, my idea is to configure BGP multi homing with one set of public IPs from one ISP to be peered with the other ISP with private AS at our premise
If you mean advertising ISP1 public IP address block to ISP2 on eBGP session to ISP2, this cannot be done without prior agreements between your company, ISP1 and ISP2.
In the public internet an ISP1 IP address block must appear as originated in ISP1 AS number, it cannot appear as originated in ISP2 AS number or originated by a private AS number.
The agreements mentioned above includes, but they are not limited to, a BGP peering between ISP1 and ISP2.
In your case you may consider a solution at DNS servers level to have the DNS records for the servers updated in case of failover.
Hope to help