you can definitely use metafields and I think that’s gonna be the best solution.
If you would like to use the image-with-text section, I guess you want to upload a different image, title, description, button link and button label for each product right?
My recommendation for the metafield content types is following:
file for image
Single line text for title
Multi-line text for description
Single line text for button label
URL or page for button link
Then, you just insert dynamic source for each field on the product page.
This app enables you to choose recommended products for a specific (source) product. You can hide the auto-generated product recommendations for the specific (source) product and use only the products you want .
Since you have 10+ products, I think that it won’t take you much time to set it up.