I always assumed that Latin and Greek were related due to English having so many roots from both-but they aren't, right? So why does English have so many Greek and Latin roots?
English (and most other Western-European languages) adopted many words from Latin and Greek throughout history, because especially Latin was the Lingua Franca all through Antiquity, the Middle Ages, the Renaissance, and later.
However, English has many more words borrowed from Latin than have other Germanic languages, which it owes to the conquest of England by the Normans in the year 1066. The Normans spoke Norman French, which was still much closer to Latin than modern French, especially in spelling. From then on, French was used as the language of administration for a while, and much of this was incorporated into English even as the influence of Norman culture in England waned.
Note that, very, very long ago, in prehistoric times, the Germanic and Italic branches (the ancestor of Latin) diverged from the (supposed) proto-language called Proto-Indo-European. That's why e.g. English, Greek, Russian, Persian, Urdu, and Latin have certain things in common, although most similarities are now only apparent to the trained eye. The similarities you see between English and Latin are mostly caused by what happened after 1066.
Latin and Greek are related due to both being descended from the same prehistoric ancestor language. English also shares a common prehistoric ancestor with Latin and Greek.
Most languages have a single origin (though creoles and mixed languages have two).
But the origins of a language need not be the origins of each and every word. English has borrowed words from very many languages but from French it has borrowed en masse due to the Normans, who spoke an old variety of French, invading and ruling England almost a millenium ago.
The grammar and core vocabulary of English have origins in Germanic.
Many English words have origins outside English. Many of those had their origins in Norman French.
Norman French, of course has Latin as its origin.
So it's not correct to say "English has both Latin and Greek origins". Origin means starting point and the Norman borrowing happened much later than the starting point of English, though still in a remote time from our point of view.
English has Germanic origins. Individual English words have hundreds of exotic origins from languages all over the world. A large percentage of English words have Norman French origins. Norman French had Latin origins. The majority of Norman French words had Latin origins (though there are surely words Norman French borrowed from other languages it was in contact with and passed on to English).
But of course even the Germanic and Latin languages didn't spring out of nowhere. They also had origins. They are both traced back to a common origin in Proto-Indo-European. Some linguists try to trace the origins even further back and have many hypotheses, but most linguists agree that such retracing is not possible.