Hi,
That's a lot of stuff that could potentially overlap.
I'd strip it back to BotSpawn and ZombieHorde and get those working as you want. Remove everything else you mentioned.
Changing server convars for npc population shouldn't affect BotSpawn or (I guess) ZombieHorde as those plugins are spawning and maintaining their own populations.
The same for plugins which alter or randomise spawn points - BotSpawn is getting its own spawnpoints or using ones you specified.
I imagine ZombieHorde is similar.
AutoSpawn : true/false is whether or not this profile will spawn npcs automatically.
Murderer : true/false is whether or not the spanwed npcs will be murderer type. (False will be scientist).
Each profile spawns either scientists or murderers. Not a mix.
Allow_Rust_Loot_Percent dictates whether or not BotSpawn will remove the corpse loot that Facepunch puts there by default.
Some loot plugins may empty containers before filling them, or just add loot on top of what's there, or even give you that choice.
Something to keep in mind.
I have no idea if BetterLoot puts loot on npc corpses or not - That's something you'd have to look up or ask but, certainly, CustomLoot (by me, on Codefling), is capable of using a custom loot table per BotSpawn profile if that's something you're interested in.
You can also keep it simple and just have one loot table for "BotSpawn" if you like. The choice is yours.
Regarding debug output, BotSpawn should tell you what you need to know.
If there's some problem with a kit or you're using custom spawn points but don't have enough of them, BotSpawn will tell you in console.