So I'm guessing there is something wrong with the way I'm storing the array of my different satelites elements? (Even they do work when not using PROGMEM so not sure)
Any help would be appreciated.
PS: I show the example with 1 Satellite but I will have about 10 when done.
What do you suppose that strcpy_P() is actually doing? The second argument is a location in PROGMEM where there is a string to be copied. In your first example, that is what you are providing it.
In your second example, that is not what you are providing it.
You stored the pointer in PROGMEM saving 2 whole bytes of SRAM, but made your coding an order of magnitude more difficult.
First, you need to get the pointer out of PROGMEM. Then, you can use the SRAM pointer to access the data from PROGMEM.