Navigation won’t update to show full path to single post

I don’t understand exactly why you chose to use a custom Nav Walker and how you managed to make it work. You should use this when you want to display the menu entries with a very specific html code that do not fit into the wp_nav_menu output. In your case, you want to change the link itself, not only the html formatting.

I think your request can be solved in an easier manner by using a rewrite rule. That rule will transform any custom formatted URL to another that matches the default WordPress format.

If I understand well you need, you will have to add the following rules :

add_rewrite_rule('^mediums/([^/]*)/([^/]*)/?','index.php?mediums=$matches[1]&project=$matches[2]','top');
add_rewrite_rule('^clients/([^/]*)/([^/]*)/?','index.php?clients=$matches[1]&project=$matches[2]','top');

Add this code to the init hook, and you should be able to achieve the desired result.

Now, to display the navigation menu, you should use the get_terms function to list your taxonomies terms and display the appropriated links.

tech