Of all the choices, I like finish off the best -- like completely defeating the enemy, the children have permission to totally destroy the remaining sandwiches and cakes. There's a certain appealing finality to the phrase. I don't like "eat up" at all. And "finish" may not be quite right... it gives the impression that they were able to eat sandwiches and cakes before and now they can finish them -- this sounds like a party where they didn't get a chance until the end. But even if they were each allowed to eat two during the party (until we see that there's enough for everyone), now they can demolish the remainder.
While 'eat up' is not incorrect, it doesn't sound as natural to a native speaker's ear, in this sentence. If I were to use 'eat', I would drop the 'up'. They were allowed to eat the remaining sandwiches.
'They were allowed to finish off the remaining sandwiches.' is a much better sentence.