[EVIL] tag on a creature is benefitial for expansion - it
allows to settle evil regions, not restricts the civ to it.
[DEFAULT_SITE_TYPE:CAVE_DETAILED] is the same reason dwarves often die out. They are vulnerable to endless forgotten beasts, are bad at conquering and cannot settle far from their original fortress in the middle of a tropical forest. Thus, one of the culprits here.
[LIKES_SITE:CITY] in combination with [TOLERATES_SITE:CITY] causes a large part of population to migrate into (human) cities. Another culprit. TOLERATES is enough to allow reasonable migration.
It is possible everyone hates their ethics too much, so try tweaking them a bit. Here is the list of ethics that matter in diplomacy:
ETHIC_KILL_ANIMAL
ETHIC_KILL_PLANT
ETHIC_TORTURE_FOR_FUN
ETHIC_TORTURE_ANIMALS
ETHIC_OATH_BREAKING
ETHIC_LYING
ETHIC_EAT_SAPIENT_OTHER
ETHIC_EAT_SAPIENT_KILL
ETHIC_MAKE_TROPHY_SAME_RACE
ETHIC_MAKE_TROPHY_SAPIENT
ETHIC_MAKE_TROPHY_ANIMAL
The higher is the disparity in views on the same thing, the higher is the relations penalty.
The lack of local and military nobility might be an issue too, although I'm not sure. Better add some [SITE] position with [RESPONSIBILITY:MILITARY_GOALS] and also a civ-level position with [RESPONSIBILITY:MILITARY_STRATEGY] (or you can simply add it to the Zucc)
Do they have OUTDOOR_FARMING, or RIVER_PRODUCTS, or anything like that? Having none can lead to the lack of population growth. RIVER and OCEAN ones only give their benefit if the civ settles on the related biomes, but FARMING, ORCHARDS and GARDENS yield food invariably.
Also, [ETHIC:KILL_NEUTRAL:REQUIRED] is unrelated, but generally unrecommended. It can cause loyalty cascades during gameplay. Better tone down to ACCEPTABLE.