I am not sure why this library alias is causing this error.  Using double colon :: seems to be permitted with import and alias targets.  See double-colon in target name .
error:
  The target name "zeromq::zeromq" is reserved or not valid for certain CMake
  features, such as generator expressions, and may result in undefined
  behavior.
code:
include(FetchContent)
FetchContent_Declare(
    ZeroMQ
    GIT_REPOSITORY https://github.com/zeromq/libzmq
    GIT_TAG v4.3.4
    GIT_SHALLOW TRUE
    GIT_PROGRESS TRUE
    OVERRIDE_FIND_PACKAGE
)
message("ZEROMQ_LIBRARY is ${ZEROMQ_LIBRARY}")
add_library(zeromq::zeromq alias ${ZEROMQ_LIBRARY})