You need to quote the key names also same as you did in the PHP version.
The issue that you are hitting is that your key names contain a "minus" character. To workaround this issue you need to quote your keyname.
Also in your sample CFML code you will end up creating a struct, it looks to me what you want is an array of structs.
So something like this should get you what you want:
<cfset headers = [ {"X-BONANZLE-API-DEV-NAME":"#dev_name#"}
, {"X-BONANZLE-API-CERT-NAME":"#cert_name#"} ]>
or if you just want an array of strings:
<cfset headers = [ "X-BONANZLE-API-DEV-NAME:" & dev_name
,"X-BONANZLE-API-CERT-NAME:" & cert_name ]>
Note: the square brackets which indicate that you want an array and the curly braces indicate you want a struct. It's very similar to JSON notation.
If you are on an old version of coldfusion you would need to do something like this:
For a array of structs:
<cfset headers = arrayNew(1)>
<cfset headers[1] = structNew()>
<cfset headers[1]["X-BONANZLE-API-DEV-NAME"] = dev_name>
<cfset headers[2] = structNew()>
<cfset headers[2]["X-BONANZLE-API-CERT-NAME"] = cert_name>
OR
For a array of strings:
<cfset headers = arrayNew(1)>
<cfset headers[1] = "X-BONANZLE-API-DEV-NAME:" & dev_name>
<cfset headers[2] = "X-BONANZLE-API-CERT-NAME:" & cert_name>