Why does the app need access to my photos?

It doesn't. The app needs access to your files (which could includes photos) because google maps requires the permission for map tile caching. Read below for details about the permissions the app requires.

What are each of the permissions needed for?

Permission: Location
NOAA Weather requires your location to provide you with the most accurate weather. This is fundamental to how the app works. You can still add manual locations as well if you prefer.

Permission: Photos/Media/Files
This permission is required by Google Maps so that it can cache map tiles for faster loading. It sounds like the app is doing something with your photos or media, but it is not. The permission means that the app has permission to access your files (which includes photos and media), but does not mean they are actually being accessed. It is a subtle but important distinction. Contact me if you have futher questions about this.

These are the non-simplified permissions as listed in the Android manifest:
android.permission.ACCESS_FINE_LOCATION" (location access listed above)
android.permission.ACCESS_NETWORK_STATE" (check for network connection)
android.permission.INTERNET" (download weather)
android.permission.VIBRATE" (for zoom feedback on old radar)
android.permission.WRITE_EXTERNAL_STORAGE" (this is Photos/Media/Files listed above)
com.google.android.providers.gsf.permission.READ_GSERVICES" (required by google maps)