"The cost difference is so large because this workload is not a very high EC2 utilization scenario. We need extra servers for multi AZ HA and to handle bursts."
The $0.40 cost per day I calculated includes multi-AZ HA, and your bursts would have to be fairly significant to overwhelm two t2 instances which are accumulating CPU credits 95% of the time - say around 600 requests per minute for a few hours.
Of course, this is all conjecture since I can't actually view your workloads, but we've been performing this exercise for our own services, and the t2 series of servers is remarkably capable: especially given their cost. The original administrators thought (or were lead to believe) that we really needed the raw horsepower that c*.large+ instances offer... and they didn't in most cases.
Routers, crud API wrappers, even some disk persistance applications all qualify as "non-CPU intensive".
This kind of workload could easily be handled by a pair of t2.micro instances. This would cut your costs for dedicated servers to around $0.40 a day.
Plus, you could then take advantage of persistent in-process memory caches and warm services, helping to speed up your responses even further.
Using tools like Lambda come with a number of advantages, but you give up a lot of control at the same time. Perhaps this isn't a problem for most side projects, but for business critical software I'd be very leery of handing that much control over to someone as uncommunicative as Amazon.