There is a war of words over the definitions of the words custard and pudding. Native speakers do not agree on the definitions and do not care what the dictionary says. The more conservative view is that pudding is a sweet or savoury bread that is often steamed or boiled. The word custard refers to a dessert made with milk, eggs and sugar.
The liberal view is that custard and pudding are synonyms for a dessert made with milk, eggs and sugar; the egg can even be replaced with gelatin or other thickeners.
In British English the conservative view is common, except that many ordinary British people will refer to any dessert as pudding. Also in England the word custard usually means a sauce of this type poured over a dessert.
The words custard and pudding have been messed up for a long time. During Norman England the word crustade, was used from the French. Literally it meant something covered with a crust. It was used to mean a pie, maybe with a fruity filling. The modern English word custard comes from the filling of that pie. Many fruit pie fillings are actually some form of custard.
The word pudding came from the Old English puduc, but it meant sausage. Sausage is not entirely meat. It is really meat scraps and leftovers, mixed with starch and shaped into a fake meat. The modern conservative meaning of pudding is about 250 years old and means any boiled or steamed bread-like food.
A pudding served at Christmas time is not automatically a Christmas pudding. A Christmas pudding is a heavy steamed fruit-bread, which I will describe in more detail another time. For specific classical recipes, such as black pudding (blood sausage) or Christmas pudding (English steamed fruit-bread) stick strictly to the formal definition or people will be annoyed with you. For other uses be aware that the meanings are disputed and do the best you can to be understood.