Heat the soup pot or Dutch oven over medium heat without any oil in it.
Add the beef to the pot and cook it until it turns brown. Use a potato masher to break up any clumps. Make sure the meat is fine and not in big pieces.
While the meat is browning, put the ginger snaps in a heat-proof bowl. Pour 2 cups of very hot water over them and let them soak.
Once the meat is cooked, check if there is excess fat in the pot. Depending on the type of beef you used, you may need to remove some of the fat. If you see a pool of orange fat, skim off at least some of it. You can decide how much to remove.
Add the onions to the pot. If you prefer, you can grate the onions directly into the pot. Stir them well with the beef.
Pour in the ketchup and Worcestershire sauce. Season with black pepper. Add the ginger snaps along with their liquid and stir everything together. The mixture should be thick, similar to sloppy joe sauce.
Gradually add water, one cup at a time, to thin the soup. It will take about 4 to 6 cups of water. The soup should not be too watery but should have a soup-like consistency rather than being thick like sloppy joe sauce.
Bring the soup to a gentle boil, then reduce the heat to maintain a low-medium simmer. Give it one final stir to let everything settle.
Place the lemon slices on top of the soup.
Partially cover the pot with a lid and let the soup simmer for 1 to 2 hours. Stir it every 20 minutes to prevent it from burning.
Remove and discard the lemon slices. Stir in the sherry and hard-boiled eggs.
Taste the soup and add salt and pepper according to your liking. If the flavor needs to be brighter or less sweet from the ginger snaps, you can add a teaspoon or two of apple cider vinegar or lemon juice.