Vehicles have many controllers and some need to use D/C even when vehicle is off to retain settings
Also uses very small relays and over time they can become sticky and end up in a closed contact state so even if what it connects with is off but the contacts of relay are shut causing voltage/current drain
Best case is now and then is anything that is moved by electronics, seats, windows, mirrors, etc
is adjust them to cause relays to change state.
Vehicles while off can drain like bit less then 1/2 AMP per day.
Best is to use a battery tender, not a charger as that can overcharge and cook battery cells.
As example when I did not use a tender on my GM vehicles over 3-4 days battery cells get weak and charge is lower
Since I added and use tenders on two GM vehicles for last 20 years both batteries are still good.
To save fuel and take load off the crank the PCM commands when and how much the Alternate outputs
This can be checked in couple of minutes using a OBD-II scanner and monitor the PCM parameter that does the commands, what Alt output is and see if it is commanding and if the ALT is responding
It is known when Alt go bad the wrong type is put in that does NOT react when PCM commands so assure correct ALT is installed.
Spend like $40, for like this multi meter below that uses a clamp and it can measure A/C or D/C current loads.
Simply open clamp, put around negative cable of battery and see what the current loads are
Most vehicles of GM are set to maintain voltage for like 15 minutes after vehicle is turned off
After that controllers should go to a sleep mode and then current load drops to like 200-300 mAmps draw.
Put meter on, turn key off, write down ASAP what the amp draw reports,
Leave meter on, wait good 15 mins and then see what the amp draw is
If current load has not dropped then come controller did not go to sleep mode or some relay is stuck closed contact.
Since most vehicle batteries sold in the USA are NOT made in this country it is normal to get 2 or more new ones to find it has at least one weak cell that will never recover
Spend $20 like at Harbor Freight, they sell a battery load tester,
Current meter
Load tester
Takes like 30 seconds, connect to battery posts, push a button for like 20 seconds, and see on it's meter what the voltage reports and then after releasing the button if and what the voltage level is, did it go back to good state or not
If some controller is wacky, does nto go to sleep when it should that means it also chatters on the vehicles data network which then wake up other controllers which then means more current draw.
Using OBD-II scanner monitor the state of the network (CANN and or GMLAN) and see if chatter is going on all the time and if there is being reported OBD-II "U" comm codes
If so locate who is not shutting up and resolve that
Lastly is it possible the starter is weak and is dragging voltage down on startup ?