Does the content of your new Wordpress htaccess file come before, after or instead of your previously existing htaccess? Order is important.
1> www.example.com/blog - does not append the ending trailing slash automatically and gives an error page.
And there's your Reason #82 for not using the !-f and !-d boilerplate. They're preventing mod_dir from doing its job. It normally executes after* mod_rewrite; one of its two specific jobs is the Directory Slash Redirect.
:: detour to pore over RewriteBase explanation for at least the eleventh time ::
The RewriteBase directive specifies the URL prefix to be used for per-directory (htaccess) RewriteRule directives that substitute a relative path.
In practice that means: Rewrites that don't begin with a slash (or with full protocol-plus-domain). But since your Rewrites never do begin a slashless relative path, the line does nothing.
This is all in the wrong order. Within each category-- F, G, Redirect, Rewrite-- go from most specific to most general. It also illustrates once again why you should leave a blank line after each Rule:
The first rule makes the second rule superfluous, because you have already redirected everything to www. But I think you must have left out its Condition while copying & pasting, because it would otherwise lead to an infinite (external) redirect loop until the user's browser steps in. And you can combine your two indexes as \.(html|php). In fact there's a post about this same issue just a few threads down.
* I detoured to check. MAMP doesn't go in exactly the same order as my live site, but I'll trust it on this one.