I would recommend looking into Shopify experts since there doesn’t appear to be an existing third-party app that can already accomplish this. With Shopify experts, you can find and hire a developer at a reasonable price to create a custom-coded solution for you. Feel free to check out the Shopify experts directory to get started.
If there is anything else I can help you with, please let me know.
Limiting to 1 per customer requires more setup but can be 80% taken care of through the frontend advanced theme customization to disable add-to-cart and checkout buttons for that product when found in customer orders.
Or again using mechanic to tag the customer with that sku and checking for that sku in liquid conditionals