Going to buy 20GB Disk Space 512mb memory 1 core cpu CentOS 7 w/cPanel from A2 hosting, is this enough to run a forum like 20k+ members? or suggest me a good host?
Membership counts don't matter, active members and the number of simultaneous users/guests do, as well as database size. Unless it's a very small forum, I'd worry about the very limited amount of RAM and a single CPU core.
If it's a brand new empty forum, its CPU and RAM overhead is going to be almost non-existent. I used a 1gb server on a single CPU virtual host for 2 years with thousands of members, so bump up the RAM a bit and it should be fine. So long as they let you buy more capacity on the fly without having to move the site then I wouldn't worry about buying too little. If it's a situation where you expect immediate traffic and site growth, like being promoted by a big advertising campaign... that changes things.
Minimum RAM I'd consider usable is 1GB... and if you are installing cPanel (or any panel really) to use for VPS control then double that. 1 CPU should be fine for starting, but I you may want to check around for at least a 2 CPU config - odds are they won't be that much difference in price.
Is Xenforo really that resource hungry that you would need a VPS just to host an empty forum? A Shared or Semi-Dedicated plan is what I usually recommend when getting started.
No, it's one of the lower "resource using" scripts.... but not everyone likes the idea of shared hosting.
Afraid we are going to need a bit more info. Active/concurrent members being the big one. A really active board needs a fairly beefy DB to keep up with the read/writes.
Instead of going with a VPS/Small dedicated, why don't you go for a cheap single or re seller plan? I try and keep the costs (and the headache) way down and only upgrade when I really need to.