It’s not impossible to find a heater that runs on batteries. The problem is that they just aren’t very good.
Heating a decent amount of space takes a lot of power. Heating is a brute-force energy problem. In order to heat living space, it’s necessary to use a lot of fuel in one way or another. Modern batteries face two problems when it comes to heating.
First, a battery that can generate enough oomph to heat a space in the first place is usually very expensive. They’re also heavy, large, and rare. On top of that, they’re inefficient – charging a battery loses some energy, and batteries slowly lose charge as they’re stored. It’s just more efficient to burn a fuel for energy directly.
The second problem is a safety issue. Batteries should not be heated above 122 degrees Fahrenheit, ever. It puts them at risk of exploding. The higher the temperature, the bigger the risk. That means using a battery to power a heater is just not a smart decision. Using safely stored propane is much safer than a battery.