Regarding the blog post urls, this is because of the way that the Blogs Provider creates urls: It includes both the Blog UrlName and the Blog Post UrlName.
It is possible to override this behavior, however it does involve creating a new class. Fortunately the process is pretty simple, and is outlined in this post: Custom URL Formats for Sitefinity Content Modules
In that example, they add an additional provider for the new blog format, however you can also simply replace the type of the existing provider to be the custom one you make. Then all your blog posts will use whatever format you specify, including leaving out the blog name.
Regarding the list of recent posts, by default a blogpostsview is going to change its rendering type (list vs details) based on the url, which is what you're seeing.
Fortunately this also can be overriden by changing the ContentViewDisplayMode from "Automatic" to "Master". This property can be set by editing the widget and clicking the "Advanced" button on the bottom right corner of the control designer.
I hope this is helpful! let me know if you have any questions or encounter any issues!