Perhaps you are not hungry? Food, by default, can only be eaten when the hunger bar is not full. You can call 'this.setAlwaysEdible()' to allow it to be eaten any time.
Btw, you should put @Override above any inherited methods, such as onFoodEaten, so that if the signature ever changes, you are immediately aware and can fix it before wondering why something suddenly no longer works.
Then are you sure you initialized your item to the correct class? i.e. yourItem = new ItemEndermanFlesh(args) ?
You probably did, given that you are not asking about the texture not showing up, so that leaves another option - onFoodEaten is getting called, but not working. Put a System.out.println("Ate food") in your onFoodEaten method and see if that shows up in the console. If it does, then the problem is within the method itself; if it does not, then the method is not being called at all and you need to check elsewhere.