where can a generic application write on an SD card?
Those questions is pretty easy to answer:


No, Android only creates those folders, if they are used. This is valid for both, internal SD and external SD.
There are many ways to get the package name (this is the internal name) of an app. The easiest way would be going to http://play.google.com(Google Play Store) on PC and opening the app's page there, then simply look at the last part of the url: e.g. https://play.google.com/store/apps/details?id=com.hipipal.qpyplus (the id= part). For QPython this is: com.hipipal.qpyplus.
Every application can write to its own folder. Reading or writing to other folders on the external SD card requires special permissions.