The Figures here look as though there were generated by a program called Diamond. Sadly, it does require a licence. You can make similar Figures with Olex2 which is free.
You could use a 3D modeler, like EQUINOX-3D, for the 3D stuff. It's free.
You could put together the 3D molecules from capsule and sphere primitives and with the "Extrude along Spline" tool.
Once you have the 3D models, you can make beautiful photorealistic renderings, or stylized renders, like on the image you posted, you can export the 3D models for other applications, or you can paste the rendered images into a document and add the labels.
Mathematica can do the 3D plotting, see http://reference.wolfram.com/language/ref/ChemicalData.html and for arbitrary user defined molecules, http://mathematica.stackexchange.com/questions/24045/how-can-i-access-the-internal-function-that-plots-a-molecule-from-a-formatted-xy
If you're going with Mathematica, you might want to have a look at multiBondPlot: http://library.wolfram.com/infocenter/MathSource/9430/
.xyz seems to be a standard format for describing 3d molecules and there should be many programs capable of displaying it. See the wiki article https://en.m.wikipedia.org/wiki/XYZ_file_format
As for the 2d, there is also a LaTeX package https://en.m.wikibooks.org/wiki/LaTeX/Chemical_Graphics