Using a workflow, you'd create an on creation workflow in SharePoint Designer that pauses until the Due Date. The next action would be If Status equals Pending or if Status equals In Progress Email user. Configure the email step to sent the email to the assigned to with whatever verbiage you'd like in the email body. This gets you the basic functionality.
To turn this into a looping workflow scenario to achieve your desire to send reminders every hour until it's done, you'll want to to is create an additional column in the task list, a number format works great for this. After you email the user, you'll want to look up the value of this number field, add 1 to it, and update that column to that value.
Now let's head back to step 1 of this on creation workflow. Add an else branch to step 1 to check if the due date is less than the current time, if so, pause for an hour, then check to see if it's complete. If not email the user and update the column. You'll also want to make sure that you set this workflow to trigger on change too. You'll now have a fully operational reminder system that will continue to check every hour and email the deadbeat task assignee.
Now you'll need to branch off into another workflow. On your on creation workflow, you'll want to update this value. This will triger your on change workflow, which you would pause for 1 hour, check to see if it's completed. If it isn't email the user, and update that column.
The reason you have to do this is because as of Service Pack 2 for Sharepoint 2007 I believe it was, Microsoft removed the ability for workflows to trigger themselves causing continuous looping. This makes it so that as one workflow ends, it causes another one to start, giving you the looping that you need.