That would be because the app is trying to download to the "Internal" space and not the card which is "External" storage. Apps can only be saved on and run from SD cards if they are set up to do so. The following is how it is done... NOTE: If there is stuff already on your card (and it sounds like there is) you would have to back all that up before doing this, or you will lose it all.
First, you need to be using a phone that is running at least Android "Marshmallow" (or newer) or be able to upgrade to it. Second, you will need the instructions I am including below. And third, you need a phone that has not been restricted by the manufacturer from making this change. Which does happen.
NOTE: If any of the steps are missing on your phone, or they don't work for you, then you have a phone that either has an older Android version or has been restricted by the manufacturer.
How to turn the "External" SD card into "Internal" storage on "Marshmallow" a.k.a. 6.0.
NOTE: Please be sure you start with a blank SD card. It needs to be blank because when the card is converted to "Internal" storage, it will be formatted (wiped) and encoded (making the cards data only readable by that device).
1. Go to device “Settings”, then select “Storage”.
2. Select your "SD Card", then tap the “three-dot menu“ (top-right), now select “Settings” from in there.
3. Now select “Format as internal”, and then “Erase & Format”.
4. Your SD Card will now be formatted as internal storage.
5. Reboot your phone.
NOTE: If you don't reboot the phone, many things may not work correctly, so make sure you do.
How to turn the "External" SD card into "Internal" storage on "Nougat" a.k.a. 7.0.
IMPORTANT NOTE: Be sure you start with a blank SD card. When the card is converted to "Internal" storage, it will be formatted (wiped) and encoded (making the cards data only readable by that device), so anything on it prior would be gone.
1. Go to "Settings", and then select "Storage & USB".
2. At the bottom of the list you should see the SD card's details, including the option to format it and make it "Internal" storage.
3. Once this is done, reboot the device and you can start running things from the card.
If you don't reboot the phone, some things may not work correctly, so make sure you do the reboot.