I believe the difference is very slight and barely noticed between the two words, but
Magic is often a noun and means " special power used to make impossible or strange things happen". It can be also an adjective only before a noun that means "having magic powers or done using magic".
Magical is always an adjective that means "very enjoyable or exciting, in a strange way" or " having magic powers or done using magic".
I will do more research In Shaa ALLAH