How to add Spheres[] sequentially from the surface of preexisting spheres?
spheres = Sphere[#, 1] & /@ NestList[
With[{rp = RandomPoint[Sphere[#, 1]]}, 2 rp - #] &, {0, 0, 0}, 5];
If you need the spheres to be self avoiding, then you could look into this question.
All spheres are oriented upward.
NestList
as in flinty's answer is a bit overkill. You can simply use Accumulate
like this:
Graphics3D@Sphere@Accumulate[2 RandomPoint[Sphere[], 5]]