When 'magic' is an adjective, it means the item described performs magic, e.g. a magic wand, a magic trick, a magic show.
'Magical' means that the item described has a certain quality as if it were created by magic. It may be fantastic, otherworldly or somehow unreal. For example, a magical land would be a land that is very strange and different from our own.
In your case, I'd say either could be correct. A magic medicine performs magic. A magical medicine seems to have been created by medicine.