I need to get this sub nav to show up on cat, sup-cat and post

The reason it only works on category and sub-category pages is because is_category() checks to see if a Category archive page is being displayed. However a post is not an “archive page” it is a “single page” (see http://codex.wordpress.org/Template_Hierarchy). So you would need to add another condition in there that first checks to see if you are on a post page – using is_single() – and if so then retrieves the posts parent category and displays the sub-categories for that parent category.