Yes, without "network activate" it works.
However trying your plugin out it seems that it uploads it not into the media upload folder
but instead into
which is wrong because such a subfolder does not exist.
I also don't like that you don't announce which folder the font has been uploaded to.
Additionally I don't like that your plugin's name is "Font Uploader", yet your plugin not only uploads fonts, but also allows to apply the uploaded fonts (and those fonts ONLY) to elements.
That way, one needs to use different plugins (i.e. your plugin and someone else's plugin) depending on whether one wants to set, say, the header with font hosted by Google or a with an uploaded font or with a standard font like "Arial" or a font supplied by the theme.
You should stick to the font uploading capability only or make two plugins.