I have been using https://simpleicons.org for a while now. It is super light and looks great. License is CC0. Although I prefer inlining the icons over using tags.

Is there an easy way to generate SVG icons from image files (.png, .jpg, etc.)? Or are each of these SVG icons created by hand?

ImageTracer is a simple raster image tracer and vectorizer that outputs SVG, 100% free, Public Domain.

Available in JavaScript (works both in the browser and with Node.js), "desktop" Java and "Android" Java:

https://github.com/jankovicsandras/imagetracerjs

https://github.com/jankovicsandras/imagetracerjava

https://github.com/jankovicsandras/imagetracerandroid

You can use svgo to optimize the SVG afterwards: https://github.com/svg/svgo