The things that you have tried to help your son feel safe and happy in his own bed are great ideas. It seems like this is attention-seeking behavior. The way you respond to him could be impacting his behavior. When he gets up in the middle of the night, do not snuggle with him or offer hugs. In fact, say nothing to him. Just promptly return him to his bed without any fanfare and certainly without any yelling. You may have to do this several times. It’s frustrating, but his behavior will change if he is not getting the desired response from you, which is affection.
If he is afraid of being alone or in the dark, use more lights and leave doors open on a consistent basis. Create a system of rewards and punishments as motivation. For every night he is “brave” and makes it through the night, reward him with a small gift (a quarter) or special time with you (extra book at story time). On nights when he does not stay in bed, take away a quarter to show that this is not the desired behavior.