Your "chef-client -l debug" output isn't on your Windows machine. Please run it on the system you're having the windows_package error on.
The error about being unable to find the identify file indicates that the path you are specifying in "-i /root/.ssh/chef-client.pem" doesn't exist, can't be read, or has incorrect data. This should be the ssh private key that you have created on EC2. The output "SSH Key: chef-client" indicates you've configured this key in your knife.rb as "knife[:aws_ssh_key_id]" You can also list your ssh identify file similarly with "knife[:identity_file]"
I presume you already have a keypar set up named chef-client (verify with the EC2 tools, such as ec2-describe-keypairs).
I've recreated this error: FATAL: NoMethodError: undefined method 'checksum' for Chef::Resource::WindowsPackage
You will have this error on Chef 11.12.0+ when using a cookbook that uses windows_package but you do not have the windows cookbook loaded, which contains the windows_package LWRP.
I have confirmed that using this run list works: recipe[windows], recipe[java::windows] on Server 2008R2 with Chef 11.12.2.
It looks like you may be recreating instances using knife ec2, rather than working on one long-lived instance. If so, you must have the windows cookbook in the run list (or depended on by another cookbook so that it loads) when you're using the java::windows recipe. When you run the windows cookbook once, it does not modify the system in a way so that you don't need it anymore. It must remain in the run list for every run.