Being self-caused and being a causeless cause aren't very different, and I think for the most part one can ignore whatever theoretical differences exist between them, because nothing in ordinary experience is either self-caused or causeless, so either way, we're positing something extraordinary as the cause of ordinary existence.
However I suspect self-causation is the wrong way to look at it. In the case of Python metaclasses and such, the self-referentiality is created by a pointer. The metaclass doesn't actually contain itself; it contains a pointer to itself (Python makes this a little obscure, but all objects in Python are really pointers to C structs). To be self-causing though isn't like following a pointer. The relevant operation is not following the reference back to the cause, the relevant operation is _causing_. You can sort of get around it with time travel, but then the thing isn't causing itself, strictly. Rather thing from T2 is causing thing at T1.
(In fact, Buddhist analysis of causation is very good on just this point: when we really look closely at causation, we find that all causing must be self-discharging and immediate, which means all things are empty of inherent existence. You can get back to monotheism, as some flavors of Buddhism do, by positing this ground of causation as Buddha Nature.)
>such a cause must be infinitely good
This is a mathematically proven fact, see https://en.wikipedia.org/wiki/Gödel%27s_ontological_proof
In general, I recommend Boethius's Consolations of Philosophy as a good primer on Neoplatonism and why the One and the Good must be identical.
>Atheism is older than religion.
No, not believing in specific gods is older than religion. Atheism is a specific doctrine that originates in the eighteenth century as part of a garbled transmission of Confucianism to the West and newfound scientific interest in materialism. To be an atheist isn't to say Zeus or Odin or Yahweh don't exist. You can be extremely religious and deny the existence of any named god! Indeed, that is the height of piety, to humbly submit that you don't and can't know God's name. To be an atheist is to say that the Good as such doesn't exist and the world is fundamentally physical. (However, there's no good definition of physicalism that doesn't lapse into circularity or absurdities…) There are very few true atheists. To really be an atheist, to use Lacanian terminology, is to not believe in any Big Other, but doing that requires an unusual degree of vigilance. Everyone is always letting in some Big Other, but saying that their Big Other isn't like the other Big Others.
The problem of evil is just that problem that whatever good it is that God is interested in and whatever good it is that we are interested in must be different goods. But of course this is so. Why wouldn't it be? The question (again, getting back to Daoism) is whether our good is subsumable under God's good, or whether to exist as ourselves we must tragically oppose whatever it is that God's goodness is and so ultimately perish.