Esp_now_* functions not declared in this scope for esp8266

Careful with filenames. On windows, EspNow.h = espnow.h due to case-insensitivity. I suggest renaming your class files… The error probably comes from exactly that, since the ESP32 part uses esp_now.h. Your code includes the header of its own class twice in the ESP8266 case.