In Magento 2 Blog v2.9.3 we added the feature that many customers requested about, it is "use the default catalog related products template" instead of custom blog related product template. This helps to display related products on the blog post page in the theme design automatically. The commit related to this change can be found at GitHub.

Unfortunately, there are thousands of themes for Magento 2, and some of them have specific JS and CSS (e.g. Porto Theme). That is why if you use Blog extension v2.9.3 or greater and the related products block does not look good, please try to do next:

1. Create a new file in your theme directory:

app/design/frontend/ThemeVendor/themename/Magefan_Blog/layout/blog_post_view.xml

2. Add this code into it:

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="blog.post.relatedproducts" >
<arguments>
<argument name="related_products_type" xsi:type="string">upsell</argument>
</arguments>
</referenceBlock>
</body>
</page>

3. Save the file and flush the Magento cache.

If this does not help, try to replace the value ("upsell")  for the related_products_type argument with one of:

related
upsell-rule
crosssell-rule
crosssell
new


Alternative Solution

If it does not work well then in step 2 use this code to change the blog template and switch it to the old one:

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="blog.post.relatedproducts" >
<action method="setTemplate">
<argument name="template" xsi:type="string">Magefan_Blog::post/view/relatedproducts.phtml</argument>
</action>
</referenceBlock>
</body>
</page>