There are two ways of approaching the problem... Get a tool and make your process conform to the tool, or document your process and get a tool that can be modified to support the process. One of these ways works, the other never does.
That said - most engineering organizations have documented a process and adapted one of many tools to support this process. Sounds like in this case they don't even know what the process is - heck, everyone probably does their own thing so there is likely to not even be a process.
Step 1: Determine how you want issue tracking to work
Step 2: Get everyone to follow this process without bringing in a tool, your process will change during this step
Step 3: Document the final process from Step 2
Step 4: Bring in any tool that can be lightly customized to support the documented process
Note the hopefully lightly customized part above... Yes there is probably work to do here, regardless of what tool you choose. Most likely you want to pay for the tool that will require the easiest/lightest customization - it will be cheaper than trying to get a tool for free and using a small team to massively customize it.