If possible, how should I configure my DNS record to make the gemini and gopher protocol accessible on same domain such as
That is only possible if all protocols are hosted on the same system. That is, you need to move your HTTP service out of Cloudflare and start hosting it on the same machine as Gemini/Gopher. (That is, you can use neither Cloudflare Pages nor Cloudflare proxy CDN.) When that's done, you don't need to do anything extra with DNS at all.
When you just make a regular query for A/AAAA records, DNS doesn't know what protocol you'll be using with that. All it knows is the domain name and record type being requested, so you cannot redirect some apps to the Cloudflare Pages server and other apps to your Gopher/Gemini server if they're all requesting the exact same name.
There are some protocols which have the client deliberately make a protocol-specific DNS query first – for example, email servers will look for MX records before A/AAAA, and Minecraft will look for SRV records at _minecraft._tcp.<domain> before it looks for A/AAAA on the domain itself, and that allows the mail server or the game server to be hosted on a completely different machine than everything else on the domain.
But for the majority of protocols that don't have such provisions, the only way to distinguish DNS requests made by Gemini clients from requests made by HTTP clients is to use different subdomains for them. (That's why subdomains like ftp and www were so commonly used in the first place.)
The only other workaround is to have a server that accepts all connections and relays some of them to another server. For example, your Gopher server could accept HTTP connections using a common "reverse proxy" and forward the requests to Cloudflare Pages – though you completely lose the advantages of hosting the site on CF that way. Alternatively, Cloudflare could proxy TCP connections on ports 70/1965 to your server, but I think that's part of their expensive enterprise plans only.