Combine potatoes, carrots, green beans, celery, onion, ham, and water in a stockpot. Bring to a boil and cook over medium heat until potatoes are tender, 10 to 15 minutes. Stir in chicken bouillon and pepper.
Melt butter in a separate saucepan over medium-low heat. Whisk in flour with a fork and cook, stirring constantly, until thick, about 1 minute. Slowly stir in milk so lumps do not form until all of the milk has been added. Continue stirring until thick, 4 to 5 minutes.
Pour milk mixture into the stockpot and cook soup until heated through, about 5 minutes. Serve immediately.