Put all of your fonts in one folder (for example, Source/fonts).
Get a list of all of the files in that folder using playdate.file.listFiles("fonts/"), then store that list as a local variable. In this case, each element is the file name of a font in the folder.
Pick a random element from that list (I found an example here). Save that element to a local variable.
Load the font by doing playdate.graphics.font.new("fonts/" .. random_element), then either pass the resulting loaded font into playdate.graphics.setFont() to set it as the global font, or store it as a variable to be used with the text drawing functions directly.
I'd be happy to provide a code example if this doesn't make sense. I haven't explicitly tested it myself, but unless I'm missing something big, this should work fine.
Is there a playdate.graphics.font.newFamily() and playdate.graphics.setFontFamily() call in your code that you haven't shown here? Specifying the paths isn't quite enough, you'll also need to load the fonts off disk and tell the system to use them.
Do you intend to set the bold/italic variants? You don't necessarily have to in order to set the font. My example was written with just the normal variant in mind, but you could adapt it to use font families as described by Dave. Also, do you want each drawText to have a different font/font family? I can provide a code example once you clarify this for me.