As wrong as it may seem to us, there are those cultures who were still practicing cannibalism in recent history. In this case you would question if a person was mentally ill or just a product of their environment. However, as far as I know India has never practiced cannibalism, so this is not the case. This person most definitely had some mental issues.
There are historically rare cases of cannibalism motivated by circumstances of extreme need. However, even in those cases, I would venture to guess people would want claim temporary insanity. There is something psychotic about someone who partakes of the flesh of another human being. To get "supper" one would either have to commit murder or disgrace a corpse, both practices our society has long since determined to be taboo.
This is a horrifying story. I can't find any other explanation for the behavior. Most 16 year olds aren't 'fully formed' from a moral standpoint, but at the same time, most of them understand that certain things are taboo. I can't imagine the 16 year old lived in a society which accepted either the murder or cannibalism of a child, and the boy reportedly told police that he had a craving for raw chicken and human flesh, so he certainly seems to be mentally ill.
There is no reason that someone would be a cannibal if they weren't mentally ill. That's not normal behavior in any circumstance. A person must have a mental defect in order to do something like that. That doesn't meant that the person shouldn't be held accountable for his actions; it just means he likely has some issues.
Logically speaking there is no reason not to allow cannibalism if both parties consent, after all meat is meat, if a old person is about to die, or hell even a young person because he's been in a crash and consents to being eaten by a human, why does it matter? Just because you don't like it or find it disgusting doesn't make it a valid reason to make it illegal, hell ANYTHING is disgusting to someone.
The burden of proof rightly lies with the defense. Maybe he's not mentally ill, he's just a bad person who knew what he was doing was wrong.
Automatically assuming that people who do evil things are mentally ill only helps to stigmatize the mentally ill (who are more often victims of violence than perpetrators), and helps to make it easy for evil people to get away with pretending to be mentally ill.