It all comes down to a level of trust and accuracy.
Let’s Encrypt is issuing a certificate for your domain name, based on domain name validation, so it needs to be certain that the domain name is correct, and you can prove ownership by providing tokens at the correct location.
A simple “dig” is possibly fine for your browser - the DNS may have been spoofed somewhere, but you are less concerned about it ( in terms of a simple dig).
There are errors on your DNS. I have checked from multiple locations, and most will not verify with certainty the IP address of your server. This is a fairly clear indication that there is an issue.
Also, if you check on places like http://dnscheck.pingdom.com/?domain=books.onetouchlogisticsltd.com then it says “Not enough nameserver information was found to test the zone books.onetouchlogisticsltd.com, but an IP address lookup succeeded in spite of that.” i.e. it can get an IP, but it’s not 100% certain of it.
Looking at whois - your authoritative nameservers should be ns1.agilecomskenya.com and ns2.agilecomskenya.com yet, for me, neither of these servers is responding authoritatively for your domain.
dig books.onetouchlogisticsltd.com @ns1.agilecomskenya.com
; <<>> DiG 9.10.5-P2-RedHat-9.10.5-2.P2.fc25 <<>> books.onetouchlogisticsltd.com @ns1.agilecomskenya.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 23954
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;books.onetouchlogisticsltd.com. IN A
;; Query time: 99 msec
;; SERVER: 217.174.149.5#53(217.174.149.5)
;; WHEN: Fri Dec 29 13:40:35 GMT 2017
;; MSG SIZE rcvd: 59
user@serverco:~$ dig books.onetouchlogisticsltd.com @ns2.agilecomskenya.com
; <<>> DiG 9.10.5-P2-RedHat-9.10.5-2.P2.fc25 <<>> books.onetouchlogisticsltd.com @ns2.agilecomskenya.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 23097
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;books.onetouchlogisticsltd.com. IN A
;; Query time: 99 msec
;; SERVER: 217.174.149.4#53(217.174.149.4)
;; WHEN: Fri Dec 29 13:41:41 GMT 2017
;; MSG SIZE rcvd: 59
Since there is a lack of certainty, Lets Encrypt can not validate and issue a certificate.
If you correct all the issues with your DNS, then it should work.