This bug was reporting in the forum here: https://love2d.org/forums/viewtopic.php?f=4&t=8817
The problem is the last character in an ImageFont doesn't have proper spacing when printed. I tracked down the issue to the file font/ImageRasterizer.cpp. The function ImageRasterizer::load() doesn't set the spacing for the last char in the glyph list.
In that function, somewhere this needs to be set: spacing[glyphs[length-1]] = ????
or else it defaults to 0. That's as far as I got, I didn't have time to figure out the correct setting for the spacing of the last glyph.