How do we move to a modern CICD approach
You have all the necessary tools for the 2 use cases you mentioned. For application development, it looks like you have something already set up.  I'm assuming, for time's sake, you have automated both code quality and security scanning of your application and that is all working.  If you haven't already started packaging your applications into helm to deploy into kubernetes I suggest you do that.  What your looking to do is automate your deployments of pre-built applications and infrastructure into EKS or cloud (aws). 

To deploy applications onto your EKS cluster terraform allows you to deploy via helm.  So your Jenkins pipeline can deploy your terraform infrastructure which utilize the providers for kubernetes, eks, helm, AWS and more to provision and configure your infrastructure and applications. There is a separate pipeline usually for custom apps, pre-built apps, and infrastructure.  Each has it's own quality, security, and resiliency checks needed so you may need some additional tools as you go forward. 

For example here is a link to the Hashicorps website on using terraform in automated pipelines.  Note it's considered advanced https://learn.hashicorp.com/terraform/development/running-terraform-in-automation

At this point I'm not sure what you're using Ansible for as that's not necessary for EKS and it's services but if you still need it in parallel to terraform there are plugins to Jenkins https://plugins.jenkins.io/ansible/.   There's also one for terraform https://plugins.jenkins.io/terraform// 

So in short, no need to start adding tools but exploring the ones you have.  The way to look at it is this: 


Task Runner and orchestrator for CI/CD: Jenkins


this will orchestrate all CI/CD

Application deployment: Helm


this would deploy and version all applications
applications can be deployed via jenkins or terraform

Infrastructure deployment: Terraform


initial testing done manually but Jenkins can run terraform to deploy infrastructure and base services.