One way to come at this is not to treat it mathematically. When we treat natural language mathematically we are inclined to say none must mean 0% and all must mean 100%. However often when we use natural language there can be exceptions to statements (i.e. an implicit 'some' or other limitation on the statement). Such as when one says, "but everyone is saying it." It is unlikely that everyone thinks or says the same thing. Unfortunately I am not a linguist so the precise explanation for how natural language differs from mathematical language is currently beyond me.
Another way at this, from a scriptural viewpoint is to consider what Paul later wrote: "All things are lawful for me, but not all things are helpful." In light of this we could state that Jesus is saying it is lawful to eat any food. Later, caring for the flock, the apostles give guidance not to eat certain foods because, though not sinful, they may have a negative spiritual effect on the eater.
The foods in question are:
- Food which has been offered to idols
- Blood
- Animals which have been strangled
Food which has been offered to idols ought to be avoided in case it causes problems for people of weak faith. There's a good article which addresses this question here. As the article points out (based on this scripture), there is actually no question of sin about eating such food, in itself, but one ought not to cause a brother or sister to stumble. This is particularly important when dealing with people that have a background where they offered food to idols and they are sensitive to it.
As for blood. Moses wrote not to eat it. But Jesus and Paul both affirmed that what we eat does not make us sinful. Here I am afraid I don't know the answer. However, I believe it involves the Christian being under grace, and not under law. The caveat is that there is a reason given with the command not to eat blood, which is that the life is in it. Even if the law has been superseded by the law of the Spirit, the underlying reason has not changed. So one might, along with the apostles, abstain from eating blood out of prudence.
As for eating strangled animals I am drawn in two directions: firstly, to apply the principle established in scripture that all foods are clean and then to consider that perhaps the apostles had some concern for us that I don't know of.
The second is to recall the story of Samson, the Nazirite. The nazirite vow included not going near dead bodies. However Samson had no regard for this, and touched a dead body. The LORD is slow to anger. But eventually Samson suffered greatly for not living as a Nazirite.
The reason I bring up this story about Samson is that we have a command from the apostles, given in the Spirit. I think that the reason they gave it was out of care for the flock. Like a mother's or father's commands these are not law, per se, but perhaps a graceful garland to be worn.