As you can read here this how the DMVs related to missing indexes behave. The suggested missing indexes can overlap existing indexes, if one proceeds to use the DMVs to create indexes without verifying the indexes do not already exist he/she can end up creating duplicated indexes, so Microsoft documentation encourage to double check all index recommendations before implementing them.
Query Store is usually the one feature that persists index recommendations after restarts.
Automatic Tuning on Azure SQL uses DMV's missing index information to create indexes and you can see Automatic Tuning ending up creating duplicated indexes.
Why you cannot get the missing index DMV to stop recommending the index? One possible scenario that causes this issue is when an operator on a Query Plan think it will benefit from using the index but it ends not using it and instead uses another index usually a non-clustered index, but the operator keeps reporting the index missing because it thinks the index would be useful and suggests it. Sometimes the index requested/suggested by the operator will not really benefit it, but keeps asking for it despite the index already exists.
Bottom line this is a bug on the Query Optimizer that has never been fixed on SQL Server and that exists also on Azure SQL. It’s a bug related to the propagation of metadata into the in-memory set of metadata that the query optimizer uses.