When a child has a weight problem, it is also the parent's problem. A child cannot be expected to take responsibility for something as complicated as food and diet. The food you eat contains too much fat and isn't even wholesome for slim adults. The whole family needs to improve their eating habits. Furthermore, as children shouldn't be asked to eat different food from their parents, my suggestions are: replace the milk chocolate drink by a good herb tea; eliminate the butter, cheese, sausages and white bread and replace them by cottage cheese, vegetables, lean meat and wholemeal bread.
As John eats during the night you should ensure that there is no fattening food whatever in the home, but only wholesome food such as a large bowl of fresh fruit. However, if he is not hungry when he goes to bed he will certainly sleep well all night.