A clean scan is a statement with a precise and fairly narrow meaning: the files this tool read, at the moment it read them, did not match the patterns it knows. Every word in that sentence is doing work. It is not a statement that the site is clean, and it is certainly not a statement that whoever flagged you was wrong.
When a clean result and a live flag coexist, one of four things is true. They are not equally likely, they are not equally serious, and the response to each is different — so resolve which one you are in before doing anything else.
1. The flag is stale
The site really was compromised, you really did clean it, and nothing has told the flagging party to look again. Blacklists and browser warnings do not clear themselves on a schedule you can rely on. This is the best case, it is genuinely common, and the fix is a review request — not more cleaning.
2. The malware hides from you and from the scanner
Cloaked payloads decide what to serve based on who is asking. Serve clean content to logged-in administrators, to requests from the site's own server, and to anything that looks like a scanner — while serving the payload to search-engine crawlers or to mobile visitors arriving from search. You see a clean site. The scanner sees a clean site. Google sees the hack.
3. The mechanism is outside what the scanner reads
A WordPress plugin reads the WordPress installation. Content in the database, a PHP startup directive that runs before WordPress, a file in the account home directory above the web root, a cron entry, or a compromised neighbouring account are all outside that boundary. Clean is accurate; it is just answering a narrower question than the one you asked.
4. The flag is about something that is not malware at all
A broken or expired certificate, mixed content, an aggressive ad or affiliate script, a third-party widget that was itself compromised, or a flag that actually applies to a subdomain or a parked domain rather than the site you keep scanning. Worth ruling out early, because it is cheap to check and embarrassing to miss.