I have a JBL Link Portable, which seems to be out of stock, but should fill most of your requirements if you can get your hands on one:
- supports Chromecast Audio, AirPlay, and BT
- sounds good
- has good battery (I get 7-8h of playtime against 8h quotes battery life)
- charges over USB-C (both via an included charging dock and a direct cable connection
The only downside is that it has Google’s voice assistant built in, but you can turn it off.