I wouldn't remove milk completely. Certainly DO NOT water it down. Instead reduce the quantity, use a smaller beaker. Use full fat milk ideally, otherwise I think semi-skimmed is ok from around 24mths.
During the day, if he asks for milk, offer water. If he is tired, offer milk... it can be a comfort drink. Also have milk with breakfast, unless having cereal with milk.
It does get replaced by milk products - cheese, yoghurt etc.
I would start by offering milk at breakfast, morning snack, afternoon snack and before bed. Reduce quantity to around 5oz. The TommeeTippee First Cup beaker is around 6.4oz, so that can be a good starter size for reducing quantity - they are also cheap to buy (about £2). Aim to get milk intake down to around 16oz a day... but start with aiming for say 20oz as he is very reliant on it at the moment.
If he asks for milk at other times, then give him something to eat and offer water. Once you have milk times more in a routine, you can then phase out one... such as the afternoon snack milk. Offer food and water at the time.
Offer food in small quantities, frequently. So say Breakfast 8am, snack 10.30am, Lunch 12.30pm, afternoon snack 2.30pm, tea 5pm.
Milk at bedtime winddown 6.30pm.
Adapt to fit your usual routine. Afternoon snack I find tends to be later as we do a school collection, so it's once we get back from school and is then often a combined snack/tea.
Does he have a bottle, or are you using a beaker? If using a bottle... may be time to ditch the bottles. Take him shopping for some beakers. Then as he gets older, use the beaker without the lid.
Rice cakes, bread sticks, fruit cut into small pieces, raisins, carrot sticks, cucumber sticks, soft-cheese (useful as a dip for veg sticks) all worth trying. Marmite on toast or rice cake is also liked by some toddlers.