what you want to do is not hard. You already have some of what is needed in place because you have posts assigned to categories, which is needed.
Each horizontal menu item you want to add requires a WP page (not a post). Give it the title you want:
News Entertainment Humor whatever
The first step is making sure your theme is auto-adding these pages to your horizontal menu. Some do, some don't. If not they have to be added to the header.php file individually. If they are added and are in the wrong order, edit the page # of the page, on the editor page. Pages are ordered from lowest to highest page #. They don't have to be 1-2-3-4 you can leave gaps.
The simplest way to tell WP what posts you want on a page is to create a custom page template for each page you want on the menu.
copy the page.php file in your theme folder and make new files named things like page_news.php page_humor.php
Add lines like this at the top of each of those pages:
<?php
/*
Template Name: Humor Page
*/
?>
now when you look at the page you made in the editor, you will see a section called Page Templates. Assign the Humor Page template to the page you created called Humor, etc etc.
Now you have to add one line of code to each template page to tell it which post categories to include on that page.
If you want categories 5, 9, 11, 15, and 23 to be on the humor page, your line of code looks like this:
<?php query_posts('cat=5,9,11,15,23'); ?>
You put that just before
`<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>`
For each special page template you have made, change the query_posts statement to include the category codes for that page.
If you only want one per page it looks like this
<?php query_posts('cat=5'); ?>
Its not very hard.