Well, it’s worth bearing in mind that the word ‘octopus’ is modern. There is no ancient Greek word ‘oktopous’ and no Roman word ‘octopus’. The word seems to have been invented by Linnaeus in the 1750s. (This site has the entire text of his Systema naturae: ‘octopus’ appears on page 658.)
Linnaeus wrote in Latin, so it’s a Latin word. And it is derived from Greek elements (if it were pure Latin it would be ‘octipes’). But that doesn’t get us very far with working out what the plural is. It isn’t as simple as saying that it’s derived from a Greek word and therefore the plural has to be a Latinized form of the Greek plural. Two reasons for that.
First, it isn’t derived from a Greek word. The elements ‘okt-’ and ‘pous’ are valid ancient Greek words and if the ancient Greeks had felt like it they could certainly have joined them together. If they had, the word would probably have been ‘oktapous’ and not ‘oktopous’; but that doesn’t matter because as it happens they didn’t. They couldn’t be bothered to count the legs so they called it a ‘polypous’: ‘many feet’. There is no Greek plural of ‘oktopous’ because there is no Greek singular of ‘oktopous’.
Secondly, when Latin borrows words from Greek it doesn’t have a consistent method of declining them. Often it keeps the original Greek declension (with Latinized spelling). So the plural of ‘programma’ is not ‘programmae’ but ‘programmata’. But sometimes it just declines the word as if it were a native Latin word that belongs to the declension you would expect it to belong to just by reading the nominative form. ’Polypus’ is actually an example of this: the Greek plural of ‘polypous’ is ‘polypodes’ but the Romans used the plural ‘polypi’. And some words get treated sometimes one way, sometimes the other. So even if there were an ancient Greek word ‘oktopous’, we wouldn’t be able to predict by sheer grammatical logic whether the Latin derivative ‘octopus’ would have the plural ‘octopodes’ or ‘octopi’ or both.
So the argument in favour of ‘octopodes’ is very dependent on hypotheticals. You basically have to say that if there had been a Greek word made of ‘okt-’ and ‘pous’ (which there wasn’t), and if that word had been ‘oktopous’ rather than ‘oktapous’ (which it wouldn’t), and if the Latin word ‘octopus’ were derived from that Greek word (which there isn’t), then the plural of that word would be ‘octopodes’ (which it might or might not be).
The only way to identify the actual Latin plural of ‘octopus’ is to check what plural Latin-speakers use. There must be Latin texts from the eighteenth century onwards, perhaps even by Linnaeus himself, that use the plural of ‘octopus’, and that’s where the answer is. Some of those texts are probably on the internet. Annoyingly there doesn’t seem to be any search engine that allows you to search for results that are in Latin. The Intratext digital library has quite a few modern Latin texts but none of them contains either ‘octopi’ or ‘octopodes’. I haven’t personally spoken to enough Latin-speakers to be able to say from experience whether ‘octopi’ or ‘octopodes’ or both are commonly used. So I don’t know the answer. But that’s how to find it: check what people who actually use the language say.
Once you’ve found the Latin plural of ‘octopus’, the next question is whether that necessarily tells you what the English plural is. Which I don’t think it does, really, because there are plenty of Latin-derived English words whose plurals are not the same as the Latin plurals, just like there are plenty of Greek-derived words in Latin whose Latin plurals are different from the Greek plurals. Again the question should be what have people actually tended to use. The most comprehensive surveys of historical and contemporary English usage, or at least British English usage, tend to be done by the Oxford English Dictionary people, so that’s a good starting point. They say: ‘The standard plural in English of octopus is octopuses. However… octopodes is still occasionally used.’