I made a couple custom team deathmatch maps. I would have made "verified" maps if they offered them (like they offer in official servers). Point being, I had to make the spawn points, and they work fine for me, with bot fill.
No offense, but I am guessing that there is something you could do differently to make them work.
Are you making the spawns in godot? Or how/what are you doing? I think I can help if I had more info.
The thing is, if you use the default map data, the spawns for each team will all be clustered in one tiny HQ box for each team. What I did was download the map data in Portal, open godot, and manually edit the json map data file in a text editor using coodinates measured in godot. You can do it in godot too, probably faster, but I don't entirely trust godot's exported data.
You can open the map in godot, the defaults will be displayed, you drag stuff around visually, export it, and hope it works as expected. Or you edit it as x,y,z coordinates manually in a text editor.